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

Hbf*_*Hbf 20 data-recovery process macos

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

该博客文章“从恢复文件/proc介绍了如何做到这一点在Linux上:

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

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

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

Ste*_*nie 3

我找不到 OSX 等效项,但无论如何都要回答,因为这可能很紧急。如果该文件对于恢复确实很重要,并且您必须关闭系统,请重新挂载该文件处于只读状态的文件系统,并使用 CloneZilla 等工具对分区进行映像 - 这将保留您在以下情况下使用各种恢复工具的能力:如果文件正在使用的空间被重新分配给另一个文件。

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