如何在 Linux 中恢复被 > 替换为空文件的文件?

如何在 Linux 中恢复被 > 替换为空文件的文件?

我以 pv 命令运行,pv /path/file1 > file1但没有注意到我与“路径”位于同一目录中,因此输入文件实际上是输出文件

pv给我留言:

pv:输入文件是输出文件:/path/file1

但 shell 将文件大小截断为零

是否有可能以某种方式恢复该文件?

操作系统:Debian 8

答案1

我终于能够使用 extundelete 恢复文件

这是我所做的

  • 立即停止使用操作系统,或者如果分区未被任何进程使用,则将其重新挂载为只读(我很幸运,我的文件所在的路径位于单独的分区上,并且未被主动使用)
  • 从救援系统启动,或者如果你确定没有任何进程会在你不知情的情况下使用你正在恢复的分区,则留在当前系统上
  • 备份整个分区(dd例如)
  • 安装extundelete
  • 将分区重新挂载为读/写
  • 删除空文件(注意文件的路径和名称)
  • cd到与要恢复的分区不同的目录(确保有足够的空间存放恢复的文件)
  • 卸载分区
  • 运行extundelete path/to/disk/label --restore-file path/to/deleted/file(例如extundelete /dev/sdb1 --restore-file documents/important.txt
  • 恢复的文件应出现在 RECOVERED_FILES 目录中

相关内容