仍在使用时恢复已删除的文件

Bar*_*art 3 linux restore files

有没有办法在文件仍在使用时恢复/恢复已删除的文件?

Ste*_*itt 5

至少在 Linux 上,您可以访问进程仍然打开的所有文件,在/proc/${pid}/fd

$ echo Test > removeme
$ sleep 1200 < removeme &
[1] 21954
$ rm removeme
$ ls -l /proc/21954/fd
total 0
lr-x------. 1 skitt skitt 64 Aug 13 17:14 0 -> '/home/skitt/tmp/removeme (deleted)'
lrwx------. 1 skitt skitt 64 Aug 13 17:14 1 -> /dev/pts/7
lrwx------. 1 skitt skitt 64 Aug 13 17:14 2 -> /dev/pts/7
$ cat /proc/21954/fd/0
Test
Run Code Online (Sandbox Code Playgroud)

您可以cp通过相应的文件来恢复它。