【问题标题】:What happens when you rm a file?当你 rm 文件时会发生什么?
【发布时间】:2013-04-29 03:37:21
【问题描述】:

我很好奇当您在类 UNIX 系统上 rm 文件时在更深层次上会发生什么,尤其是与如何恢复已删除文件有关的问题。

有人能详细描述一下 rm 的工作原理吗?

【问题讨论】:

    标签: unix filesystems delete-file rm


    【解决方案1】:

    rm 调用 unlink 系统调用。 unlink() 删除目录条目,将文件的 inode 标记为空闲(可恢复),磁盘驱动程序删除磁盘上支持的文件系统数据(片刻之后)。

    对于旧系统: 磁盘扇区上的实际物理数据仍然存在,但您无法访问它。没有任何旧数据可以保证保留。

    我相信,Windows 开发人员想出了取消删除的想法。这需要对已删除的文件进行特殊处理。大多数较旧的 UNIX/linux 文件系统和驱动程序不支持取消删除操作。 ext3 和 ext4 文件系统可以。现代 linux 支持 ext3 和 ext4 的 extundelete 命令。此命令重建文件的所有旧元数据,这些元数据已发送到临时元数据存储。 extundelete 功能增加了旧 UNIX 系统无法轻松支持的开销。还有额外的磁盘开销。

    【讨论】:

      猜你喜欢
      • 2013-10-16
      • 2019-01-19
      • 1970-01-01
      • 2011-05-05
      • 1970-01-01
      • 1970-01-01
      • 2010-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多