我正在学习 linux,并且是 bash 的语法, 当我了解硬链接和软链接时,我这样你就不能为目录创建硬链接,因为它会循环。
但是......和..是硬链接,为什么会这样?
我的意思是,为什么 . 和 .. 可以是硬链接,而我不能在其他目录上创建 hark 链接,为什么它们不仅仅是软链接?
为什么 . 和 .. 打破没有目录硬链接的角色?
有人可以解释将它们作为硬链接而不是软链接的好处吗?
谢谢。
和 .. 可以是硬链接,这不是破坏文件系统吗?
POSIX规范要求,几十年来Unix传统已经.
并且..
硬链接(如果它们不存在,文件系统可能会损坏或消失或损坏而无法修复(。
阅读有关硬链接的维基页面以了解它们。
请记住,(在Unix和Linux上(文件不一定有名称。在 Unix 和 Linux 上,文件是一个 inode(参见 inode(7((,可以有一个(这是通常的情况(、零个或几个名称。目录是名称和索引节点之间的映射,从概念上讲,它需要同时具有.
条目和..
条目。另请参阅相关问题的答案。
另请阅读操作系统:三个简单的部分,特别是关于文件,目录,文件系统的章节。另请阅读有关VFS的信息。
目录上通常不允许硬链接(然后 link(2( 会失败(,以促进内核中的引用计数方案并禁止文件树中的循环引用。
.
和..
条目是在 mkdir(2( 时间创建的。..
条目可以通过重命名(2(来更改(从概念上讲,可以通过mount(2((进行更改。rmdir(2( syscall 要求目录为空, 即只包含这两个.
和..
条目。另见path_resolution(7((和本(。