人们对文件系统的使用不太谨慎。在你的例子,我要说的是/
,/bin
和/proc
因为整个分区(如在文件系统/dev/sdb1
)安装在这些目录。我的Arch Linux系统没有/bin
文件系统,因此该示例并不完美,但是...
% ls -lid /proc /home /boot /
2 drwxr-xr-x 17 root root 4096 Feb 24 12:12 //
2 drwxr-xr-x 4 root root 4096 May 16 14:29 /boot/
2 drwxr-xr-x 5 root root 4096 Mar 14 18:11 /home/
1 dr-xr-xr-x 116 root root 0 May 16 17:18 /proc/
传统上,第2号索引节点是整个磁盘文件系统的“根”索引节点(这是该短语的其他用法)。/
,/boot
并且/home
都具有索引号2,而/proc
完全由内核提供并且不存在磁盘上,索引号为2。这些索引号指示整个磁盘文件系统或虚拟文件系统使用该名称挂载。
句子“ /home/abc/xyzdir1
是目录”基本上意味着没有使用该名称挂载磁盘文件系统。如果ls -lid
在目录上执行相同的命令,则会得到以下内容:
% ls -lid /home/bediger/src
3670039 drwxr-xr-x 29 bediger bediger 4096 May 17 19:57 /home/bediger/src/
索引节点号3670039就是从安装在(在我的机器上)磁盘文件系统中分配的索引节点/home
。
您也可以通过调用mount
命令来查找文件系统。它列出了所有已挂载的文件系统以及它们的挂载位置。
/proc
,/
和/bin
示例中的),因此我不清楚您如何识别“差异”。