现在我知道了 Linux 中的文件删除是如何工作的 在 ext2 中它标记为“未使用”,而在 ext3 中不仅标记为“未使用”而且还更改大小、 block 指针为零。
但是我想知道当我创建一个文件的硬链接(hard link),然后删除原始文件时,inode 会被标记为“未使用”吗? 还是直到删除所有硬链接(hard link)才会发生?
谢谢。
最佳答案
i-nodes 包含链接计数(在 ls -l
输出中可见)。每个硬链接(hard link)都会增加计数。 取消链接(删除链接,无论是原始文件名->inode 链接,还是后来添加的一些硬链接(hard link),这是用户唯一可以请求的)减少计数。该文件不会被删除,直到计数达到 0 并且没有打开的文件描述符指向该文件(同样由内核引用计数跟踪)。
关于linux - 当 rm 文件但硬链接(hard link)仍然存在时,inode 将被标记为 "unused"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43733893/