【问题标题】:Linux what is the benefit of having . and .. as hard link and not soft links? [closed]拥有 Linux 有什么好处。和..作为硬链接而不是软链接? [关闭]
【发布时间】:2018-05-09 07:40:47
【问题描述】:

我正在学习 linux,并且是 bash 的语法, 当我了解硬链接和软链接时,我让你不能为目录创建硬链接,因为它会产生循环。

但是。和 .. 是硬链接,这是为什么呢?

我的意思是,为什么。和 .. 可以是硬链接,而我无法在其他目录上创建 hark 链接,为什么它们不只是软链接?

为什么。和..打破没有硬链接到目录的作用?

有人可以解释将它们作为硬链接而不是软链接的好处吗?

谢谢。

【问题讨论】:

    标签: linux linux-kernel


    【解决方案1】:

    如何。而且..可以是硬链接,是不是会破坏文件系统?

    POSIX 规范要求这一点,而 Unix 传统上几十年来就有 ... 是硬链接(如果它们不存在,文件系统可能会损坏或消失或损坏而无法修复)。

    阅读hard links 上的维基页面以了解它们。

    请记住(在 Unix 和 Linux 上)文件不一定有名称。在 Unix 和 Linux 上,一个文件是一个 inode(另见 inode(7))并且可以有一个(这是通常的情况)、零个或多个名称。目录是名称和 inode 之间的映射,并且在概念上需要同时具有 ... 条目。另请参阅thisthat 对相关问题的回答。

    另请阅读Operating Systems: Three Easy Pieces,尤其是关于filesdirectoriesfile systems 的章节。另请阅读VFS

    目录通常不允许硬链接(link(2) 会失败)以促进内核中的reference counting 方案并禁止文件树中的circular references

    ... 条目是在 mkdir(2) 时间创建的。 .. 条目可以由rename(2) 更改(并且概念上mount(2))。 rmdir(2) 系统调用要求目录为空,即包含这两个 ... 条目。另见path_resolution(7)(和this)。

    【讨论】:

    • 我的意思是,为什么。和 .. 可以是硬链接,而我无法在其他目录上创建 hark 链接,为什么它们不仅仅是软链接?为什么 。和..打破没有硬链接到目录的作用?
    • 因为 POSIX 规范要求它们是硬链接。至于为什么会这样,请阅读任何有关 Unix 或 Linux 内部原理的好书
    • 好的,谢谢,我会详细了解它
    猜你喜欢
    • 2011-12-07
    • 2011-12-09
    • 2010-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多