linux - 当 rm 文件但硬链接(hard link)仍然存在时,inode 将被标记为 "unused"?

标签 linux filesystems rm inode

现在我知道了 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/

相关文章:

php - UTF-8贯穿始终

linux - top 命令第三行 CPU 使用率超过 100%

python - sys.path 与 $PATH

git - 无法从 github repo 中删除奇怪命名的文件

python 2.3 - 删除目录而不等待进程完成

linux - grep 和 grep -v 同时

c++ - 未检测到温度文件的变化

android - 如何在 android 3.x 上运行 linux 命令挂载和卸载 sd 卡

linux - 防止 "rm -rf"

ubuntu - Ubuntu Hardy 上的 Cron 作业执行但未按预期删除文件