请看下面的输出: 在下面的输出中,/dev
和的 inode 号/run
相同并且等于 2。./
和的 inode 号../
(可能是特殊情况,因为 ../ 应该指向 ./)也是 2 和 2。dev
和具有相同的 inode run
,/
因为内容完全不同。
$ll -i
total 84
2 drwxr-xr-x 20 root root 4096 Aug 18 01:21 ./
2 drwxr-xr-x 20 root root 4096 Aug 18 01:21 ../
12 lrwxrwxrwx 1 root root 7 Aug 18 01:19 bin -> usr/bin/
1048577 drwxr-xr-x 4 root root 4096 Sep 1 15:53 boot/
5636097 drwxr-xr-x 2 root root 4096 Aug 18 01:21 cdrom/
2 drwxr-xr-x 23 root root 4920 Sep 3 11:20 dev/
262145 drwxr-xr-x 144 root root 12288 Sep 3 09:34 etc/
524289 drwxr-xr-x 3 root root 4096 Aug 18 01:22 home/
13 lrwxrwxrwx 1 root root 7 Aug 18 01:19 lib -> usr/lib/
14 lrwxrwxrwx 1 root root 9 Aug 18 01:19 lib32 -> usr/lib32/
15 lrwxrwxrwx 1 root root 9 Aug 18 01:19 lib64 -> usr/lib64/
16 lrwxrwxrwx 1 root root 10 Aug 18 01:19 libx32 -> usr/libx32/
11 drwx------ 2 root root 16384 Aug 18 01:18 lost+found/
3932161 drwxr-xr-x 5 root root 4096 Aug 18 17:23 media/
1572865 drwxr-xr-x 7 root root 4096 Sep 2 14:19 mnt/
9175041 drwxr-xr-x 4 root root 4096 Aug 28 23:46 opt/
1 dr-xr-xr-x 359 root root 0 Sep 3 10:18 proc/
5505025 drwx------ 11 root root 4096 Sep 1 17:49 root/
2 drwxr-xr-x 43 root root 1320 Sep 3 11:24 run/
17 lrwxrwxrwx 1 root root 8 Aug 18 01:19 sbin -> usr/sbin/
2097153 drwxr-xr-x 11 root root 4096 Aug 26 20:34 snap/
655361 drwxr-xr-x 2 root root 4096 Jul 31 21:57 srv/
1 dr-xr-xr-x 13 root root 0 Sep 3 10:18 sys/
4325377 drwxrwxrwt 22 root root 4096 Sep 3 11:25 tmp/
1310721 drwxr-xr-x 14 root root 4096 Jul 31 21:58 usr/
8388609 drwxr-xr-x 14 root root 4096 Jul 31 22:05 var/
/sys
与相同/proc
。内容不同,但共享相同的 inode。
注意:我的整个系统只有一个 ext4 分区。交换已关闭,尽管我认为这并不重要。
编辑 - 斯蒂芬指出的已问问题在很大程度上得到了回答。为什么 /home、/usr、/var 等目录都有相同的 inode 号 (2)?
但我有兴趣了解有关其工作原理的更多细节。
在安装 Linux 时,我只提到了一个文件系统(/dev/sda1 -> ext4 -> / )。因此,对于 dev、run、proc、sys - Linux 正在创建这些附加的 FS,现在可以推断。
我知道这/proc
是一个虚拟文件系统,位于内存中,而不是任何 HDD/SSD 上。有人可以解释一下/dev
,/run
和 是怎么回事吗/sys
?它们是否存在于硬盘上(如果存在的话,如果可以有意义地追踪的话,其位置在哪里)。
答案1
因为它们位于不同的文件系统上。
它是device_id:inode
唯一标识文件的元组,而不仅仅是索引节点。
# mount
...
/dev/sda8 on / type ext4 (rw,relatime,errors=remount-ro)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=816612k,mode=755)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=4032552k,nr_inodes=1008138,mode=755)