我知道硬链接和符号链接是如何工作的,并且我知道为什么硬链接不能用于目录,但在这种情况下,这是某种例外吗?
例如我这样做:
ls -al Documents
total 8
drwxr-xr-x 2 piotr piotr 4096 cze 28 11:19 .
drwxrwx--- 17 piotr piotr 4096 lip 2 16:41 ..
。是一个硬链接文件本身和..是到我的硬链接主目录所以嘿,这是非法的
答案1
正如有人在对该问题的评论中所说,仅仅因为不允许目录的硬链接(即通过命令ln
),并不意味着它们是不可能的。超级用户实际上可以使用ln
命令的“-d”或“-F”选项来强制创建到目录的硬链接(尽管手册页说它“可能”由于文件系统限制而失败 - 不确定是什么就是这样,我不会在我自己的系统上尝试看看......)。
不允许使用目录的硬链接,因为它们可能会为尝试遍历目录结构的程序创建循环。在任何目录中,.
和..
分别是到该目录及其父目录的硬链接 - 这些是“众所周知的”特殊情况,任何试图遍历文件系统的东西都知道要解释这一点。但如果你坚持的话,从技术上来说,创建一个目录的硬链接当然是可能的——只是不建议这样做。