unix - 删除文件和 inode

标签 unix inode

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

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

最佳答案

是的,如果链接是 hard link .不,如果它只是一个 symbolic link .

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

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

关于unix - 删除文件和 inode ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8860720/

相关文章:

python - 在同一列上按数字排序,然后按字母数字排序

linux - 每天监视文件夹的 Shell 脚本,如果该文件夹上未生成新文件,将发送邮件警报

c - 尝试打印目录和所有子目录中以字节为单位的总空间

linux - 在单个 Linux 命令操作系统脚本中使用某些条件重命名多个文件夹中的所有文件。

linux - 在 linux 内核模块中,如何获取已知路径的 inode

linux - 获取shell脚本的最后一个参数

filesystems - 每个 inode 有多少字节?

linux - 尽管修改时间没有变化,但挂载共享上目录的 inode 发生了变化

linux - ext2 "image"文件与真正的 ext2 设备

python - 获取文件的最后访问时间?