2

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

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

4

2 回答 2

3

是的,如果链接是硬链接。不,如果它只是一个符号链接

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

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

于 2012-01-14T07:11:58.127 回答
0

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

所以答案是肯定的。

于 2012-01-14T07:13:46.020 回答