自己对“为什么不同挂载点的inode号码都是2”的理解

1 篇文章 0 订阅
1 篇文章 0 订阅

首先:

挂载』是动作,是将文件系统与目录树结合起来的动作。

挂载点』是目录(不是inode),该目录为进入该文件系统的入口(如/,/boot等)。

因此并不是你有任何文件系统都能使用,必须要『挂载』到目录树的某个目录后,才能够使用该文件系统的。


加入分区的时候,我们除了SWAP分区外,EXT4格式的文件系统我们分了3个,分别挂载了/,/boot,/home。那么这里的了/,/boot,/home就是3个不同的挂载点。


一定要注意其一!!这3个挂载点是不同的,因为是3个不同的目录啊!

一定要注意其二!!虽然我们3个分区都是相同的EXT4格式,但要清楚这个3个不同的文件系统!因为它确实被分成了3部分啊,如果是相同的我们还分什么区呢。


因此!!综上所述,我们有3个不同的文件系统分别挂载到了3个不同的挂载点(目录)


搞清楚上面的结论之后,那如果观察这三个目录的 inode 号码时,我们可以发现如下的情况:

[root@local ~]# ll -di / /boot /home
2 dr-xr-xr-x. 18 root root 4096 8月   4 15:27 /
2 dr-xr-xr-x.  4 root root 1024 8月   2 18:46 /boot
2 drwxr-xr-x.  3 root root 4096 8月   2 18:51 /home

这个结果显示:

1.我们文件系统最顶层的目录之 inode 一般为2号;

2.我们的3个挂载点/,/boot,/home的inode号都是2号。这是怎么回事?不是一个inode只能对应一个目录吗?怎么现在一个2号inode对应了3个目录呢?这里一定要结合刚才得到的结论来思考。刚才我们说有3个不同的文件系统分别挂载到3个不同的挂载点,那么仔细想象,这3行结果里面的数字2是同一个2吗?很明显不是!/那一行的数字2,代表的是第一个文件系统(分区)里的2号inode;同理,/boot那一行的数字2代表的是第二个文件系统(分区)里的2号inode;/home那一行的数字2代表的是第三个文件系统(分区)里的2号inode。而由于/,/boot,/home都是顶层目录,因此他们的inode号都是2号。只不过这三个2号,是不同分区里的2号,他们对了的不同的block。


有了上面的两点认识,我们在执行下面的指令:

[root@local ~]# ll -di / /. /..
2 dr-xr-xr-x. 18 root root 4096 8月   4 15:27 /
2 dr-xr-xr-x. 18 root root 4096 8月   4 15:27 /.
2 dr-xr-xr-x. 18 root root 4096 8月   4 15:27 /..


上面的信息中由于挂载点均为 / ,因此三个文件 (/, /., /..) 均在同一个文件系统内。这三个文件的inode 号均为 2 号,因为一个inode只能对应一个目录,因此这3个目录是同一个目录!也就是说,根目录的上一级 (/..) 就是她自己!

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值