在Linux中恢复已删除的文件,可以通过以下几个步骤来尝试:

1. 使用`lsof`命令查找已删除但仍然打开的文件

如果该程序仍在运行,并且它打开的某个文件已经被删除(但是其描述符仍然是开放状态),可以使用以下命令来查看和恢复它:

linux删除的文件如何恢复  第1张

首先需要安装 `lsof` (如果你没有安装它的话):

sudo aptget install lsof

linux删除的文件如何恢复  第2张

接着使用 `lsof n | grep "Deleted"` 查找那些正在被使用的并带有 'Deleted' 标记的文件。

找到特定文件后,例如 `lsof p | grep "(path/to/the/file/deleted)` 其中`PID`是指进程的标识号。根据输出的结果,文件描述符号(一般是在第三列表示为"文件"/"dir"的下面)可能就是你要恢复的那个。你就可以把数据复制到其他地方:

linux删除的文件如何恢复  第3张

cat /proc/PID/FD/DESCSYMBOL > recovered_filename

2. 尝试文件系统级别的文件恢复

如果上述方法无法恢复文件,且您怀疑文件已被从文件系统中实际删除,那您需要使用一些专门针对文件恢复的工具。一种广泛使用的工具是 `TestDisk & PhotoRec`。它是一款由 Christophe GRENIER 发展出来的自由和开源数据修复软件套件,支持很多不同的文件类型,包括NTFS,FAT32, ext4等文件系统。

要安装,你可以运行下面命令:

linux删除的文件如何恢复  第4张

sudo apt install testdisk

然后用它扫描硬盘或者分区以尝试找出最近删除但尚未完全被覆盖或擦除的数据块,并从中尽可能多地恢复文件。

请注意:

数据丢失之后尽快执行此操作;

恢复的成功率取决于多个因素:如磁盘上的写操作频繁度、操作系统活动、新文件创建速度等,这会增加被破坏或覆写的概率;

对于重要数据,请务必先做好定期的备份计划,这样即便出现类似问题时也能快速恢复;

linux删除的文件如何恢复  第5张

某些时候甚至可能得求助于专业的数据恢复服务提供商。

由于每个案例的具体情况不同,以上只是提供几种通用的方法。具体情况需要按照实际情况灵活运用。希望对你有所帮助!