如何恢复已删除但仍打开的文件?

如何恢复已删除但仍打开的文件?

如何恢复已被删除但仍由进程打开的文件?

博客文章“从中恢复文件/proc解释如何在 Linux 上执行此操作:

  1. 使用lsof(例如lsof -c name)查找给定进程(其名称以 开头name)当前打开的所有文件。从输出中,您可以了解进程和您要查找的文件的pid文件描述符( )。fd
  2. 使用cp /proc/<pid>/fd/<fd>/tmp/restored-file` 进行复制。

第一步在 OS X 上也是一一对应的。但是,第二步似乎更复杂。OS X 上有类似的功能吗?

(我试过/dev/fd但就我而言,它不包含我的进程/文件的 PID/FD。)

答案1

我找不到 OSX 的对应版本,但无论如何还是回答一下,因为这可能很紧急。如果文件确实需要恢复,而您必须关闭系统,请重新安装文件处于只读状态的文件系统,并使用 CloneZilla 等工具对分区进行映像处理 - 这样可以保留您使用各种恢复工具的能力,以防文件使用的空间被重新分配给另一个文件。

根据您需要恢复的文件类型,PhotoRec 可能能够找到它。此外,Disk Drill 的免费版本可能有用,并且根据正在使用的文件系统,TestDisk 可能有所帮助(不完全支持 Mac 文件系统,即使它可以在 OSX 上运行)。

相关内容