【问题标题】:Deleting files and Inodes删除文件和索引节点
【发布时间】:2012-02-10 06:08:00
【问题描述】:

我正在阅读关于版本 6 unix 的文章,并且刚刚了解了 inode。我有以下问题:

假设我在一个目录中有一个文件,并且在其他地方有一个指向该文件的链接。我是否正确地说,如果我删除文件,inode 仍然存在,因为 refcount 不为 0?这是否意味着链接存在时文件并没有真正删除,我可以通过inode号访问文件?

【问题讨论】:

    标签: unix inode


    【解决方案1】:

    是的,如果链接是hard link。不,如果只是symbolic link。

    硬链接基本上是位于多个目录中的同一个文件,具有相同的 inode。将文件与其目录之一取消链接只会将其引用计数减少一。在达到零之前不会被删除。

    符号链接有自己的 inode 并将您重定向到另一个条目。如果删除其目标,则符号链接将悬空。可以删除符号链接本身,而不会影响目标文件或目录。

    【讨论】:

      【解决方案2】:

      文件名只是目录表中指向磁盘某处的条目。硬链接只是指向相同数据的另一个名称条目。任何后续的硬链接都与原始文件名条目没有区别。

      所以答案是肯定的。

      【讨论】:

        猜你喜欢
        • 2016-03-17
        • 1970-01-01
        • 2012-04-06
        • 2012-01-22
        • 2010-12-23
        • 1970-01-01
        • 2017-01-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多