当rm一个文件但是hardlink还在的时候,inode会被标记为"unused"?
When rm a file but hard link still there, the inode will be marked "unused"?
现在我知道在 Linux 中文件删除是如何工作的了
在 ext2 中它标记 "unused",而在 ext3 中不仅标记 "unused" 而且还改变大小,块指针为零。
但是我想知道当我创建一个硬link到一个文件,然后删除原始文件时,inode会被标记为"unuse"吗?
或者直到所有硬 link 被删除才会发生?
谢谢。
i 节点包含一个 link 计数(在 ls -l
输出中可见)。每个硬 link 递增计数。 Unlinking(去掉一个link,就是原来的文件名->inode link,或稍后添加的一些硬 link,这是用户唯一可以请求的)减少计数。该文件不会被删除,直到计数达到 0 并且 没有打开的文件描述符指向该文件(同样由内核引用计数跟踪)。
现在我知道在 Linux 中文件删除是如何工作的了 在 ext2 中它标记 "unused",而在 ext3 中不仅标记 "unused" 而且还改变大小,块指针为零。
但是我想知道当我创建一个硬link到一个文件,然后删除原始文件时,inode会被标记为"unuse"吗? 或者直到所有硬 link 被删除才会发生?
谢谢。
i 节点包含一个 link 计数(在 ls -l
输出中可见)。每个硬 link 递增计数。 Unlinking(去掉一个link,就是原来的文件名->inode link,或稍后添加的一些硬 link,这是用户唯一可以请求的)减少计数。该文件不会被删除,直到计数达到 0 并且 没有打开的文件描述符指向该文件(同样由内核引用计数跟踪)。