在我的 Ubuntu 12.04 中,/home
和/
是不同的分区。但为什么/home
看起来像 的子目录/
?
是不是因为它是硬链接:
是否有五个硬链接链接到与 相同的目录/home
?
$ ls -l /home
drwxr-xr-x 5 root root 4096 Apr 19 2012 home
如何显示 的所有硬链接/home
?
答案1
在 Ubuntu 12.04 中,“/”和“/home”安装在不同的分区下。
这山命令将显示分区安装的结构。这些不是通过硬链接来完成的。这些是安装点。
FSTab 是系统获取/设置 Linux 目录结构的静态挂载点的地方。
ls -l 是目录列表的长格式输出。
您询问的是该文件的链接数量。是的,我相信如果我们谈论“链接”,则有“5”个到主目录的硬链接。
答案2
在我的 Ubuntu 12.04 中,/home 和 / 是不同的分区。但为什么 /home 看起来像 / 的子目录?
分区和目录结构是两个完全不同的东西。一个与另一个无关。 /home
是 的子目录/
。
如何显示 /home 的所有硬链接?
我不相信有任何简单的命令可以显示链接到特定文件的文件。理论上,您应该能够使用/bin/ls -ldi /home
来获取索引节点号,然后使用find . -inum xxxx -print
,但我现在似乎无法在我的家用计算机上使用它。但在这种特殊情况下,我会从/bin/ls -aldi /home/*/..
答案3
-是的,您可以看到任何分区,无论其名称是子分区“根- /”因为它是系统的主分区,所以它是整个系统,因此名称“root”作为一棵从根开始的树开始,同样的情况发生在系统中,只是不是因为这个也有在同一磁盘上启动或存在的其他分区在稍微复杂一点的系统中很常见,并且敏感数据在其他磁盘上专用独占的单独分区只是为了安全性和“备份”,所以不要感到惊讶,好吧!
答案4
假设有 5 个硬链接/home
。这五个硬链接是/home/.
、 、 和 ,分别代表的/home/..
三个子目录。请注意,如果位于其自己的分区上,则对和 的引用是相同的,但仍然评估为。这是因为每个目录都有 和 的条目,甚至是根目录。如果是 的普通子目录,那么从现在起(作为 的目录条目)仍然有五个硬链接指向。s
/home
/home/s/..
/home
/home/..
/home/.
/home/..
/
.
..
/home
/
/home
/home
/
/home
最后注意:是的,可以将一个目录硬链接到另一个目录,但只有 root 可以这样做,原因很简单:文件系统树不能包含循环。