携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第12天,点击查看活动详
文件系统
文件是操作系统提供给用户操作硬件的功能
文件系统是操作系统中负责操作硬盘的一段程序
文件系统可以从硬件层面和软件层面去理解:
- 硬件层面:硬盘分区
- 软件层面:文件系统
操作系统中硬盘分成几个区就有几个文件系统。
df命令可以查看当前系统中有哪些文件系统。
df -h 查看文件系统大小以GB/MB格式显示,比较方便查看
df -i可以查看文件系统中可用的inode号,inode号是标识文件的
[root@VM-4-2-centos ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 1864236 0 1864236 0% /dev
tmpfs 1880380 24 1880356 1% /dev/shm
tmpfs 1880380 468 1879912 1% /run
tmpfs 1880380 0 1880380 0% /sys/fs/cgroup
/dev/vda1 61860632 6801908 52442060 12% /
tmpfs 376076 0 376076 0% /run/user/0
一个文件由以下两部分组成:
- 元数据:文件名 属主 属组 权限 时间参数 inode号
- 文件真实数据
ls -i 路径可以查看文件的inode号
stat 文件查看文件的元数据
软硬链接
硬链接
一个文件只能有一个inode号,但是一个inode号可以被多个文件使用。
硬链接就是两个文件指向同一个inode号。
ln 原文件路径 硬链接路径
ln a.txt b.txt
ll a.txt
-rw-r--r-- 2 root root 25 Aug 9 20:48 a.txt # 权限后面的数字表示硬链接数量,a.txt b.txt都有两个硬链接
软链接
软链接的两个文件的inode号不同,类似于windows系统中的快捷方式。
软链接文件->原文件->inode号->inode块->真实数据
ln -s 原文件路径 软链接路径
软链接和硬链接的区别
硬链接不能用在目录上,只能对文件使用硬链接,因为硬链接只限于一个文件系统,无法跨分区创建硬链接。
创建硬链接的两个文件删除任何一个都不会对另一个有影响。
软链接可以用在目录上,如果原文件删除软链接文件将不能访问
如何查看文件属于哪个分区呢?
从右向左看文件路径,直到看到分区的路径,就表示在哪个分区