Directory tree
Linux内的所有数据都是以文件的形态来呈现的,所以整个Linux系统最重要的地方就是directory tree。directory tree就是以根目录 / 为主,然后向下呈现分支状的目录结构的一种文件架构。
directory tree读取
inode 本身并不记录文件名,文件名的记录是在目录的 block 当中。当我们要读取某个文件时,必然会经过目录的 inode 与 block ,然后才能够找到目标文件的 inode。
由于directory tree从/开始,OS提供挂载信息可以知道各个mount point 的inode(一般是2)。在这个inode对应的block下面找目标文件,这是个递归目录查询的过程。
各目录解析
mount point
每个FS都有独立的 inode / block / superblock 等信息,FS要能够 链接到directory tree 才能被我们使用。 将FS与directory tree结合的动作我们称为“挂载”。挂载点一定是目录,该目录为进入该文件系统的入口。 因此并不是你有任何文件系统都能使用,必须要“挂载”到目录树的某个目录后,才能够使用该文件系统的。
举例
/, /boot, /home分别挂载3个不同FS
CentOS 5.X
[root@www ~]# ls -lid / /boot /home
2 drwxr-xr-x 23 root root 4096 Sep 22 12:09 /
2 drwxr-xr-x 4 root root 1024 Sep 4 18:06 /boot
2 drwxr-xr-x 6 root root 4096 Sep 29 02:21 /home
View Code
CentOS 7.X
[root@study ~]# ls -lid / /boot /home
128 dr-xr-xr-x. 17 root root 4096 May 4 17:56 /
128 dr-xr-xr-x. 4 root root 4096 May 4 17:59 /boot
128 drwxr-xr-x. 5 root root 41 Jun 17 00:20 /home
View Code
XFS filesystem 最顶层的目录的 inode 一般为 128 号