恢复意外删除的文件

恢复意外删除的文件

我不小心从笔记本电脑中删除了一个文件。我正在使用费多拉。是否可以恢复该文件?

答案1

我建议不要立即安装一些实用程序。基本上,这里最大的敌人是磁盘写入。您现在想不惜一切代价避免它们。

最好的选择是由编辑器创建的自动备份(如果存在)。如果没有,如果您记得 .tex 文件中的一些唯一字符串,我会使用 grep 尝试以下技巧:

$ sudo grep -i -a -B100 -A100 'string' /dev/sda1 > file.txt

替换/dev/sda1为文件所在的设备,并替换'string'为文件中的唯一字符串。这可能需要一些时间。但基本上,它的作用是在设备上搜索字符串,然后返回该行前后 100 行,并将其放入file.txt.如果您需要返回更多行,只需根据需要调整-B和选项。-A您可能会返回一堆额外的垃圾,但您应该能够取回文本。

祝你好运。

答案2

有可能,只是会很麻烦。

更新:在尝试此方法之前,请先看看 Steven 的回答

你将需要测试盘包,很多磁盘空间和一个很多的时间。

PhotoRec 是 TestDisk 的一部分,可以从几乎任何光盘恢复文件。 PhotoRec 可以支持查找.tex文件。


首先,安装测试盘通过跑步

yum install testdisk

注意:您将需要另一个驱动器上有大量可用空间,您可以在其中保存恢复的文件。

photorec通过在光盘的可用空间上运行来恢复光盘上所有已删除的文件。

sudo photorec

并按照说明进行操作...(记住不要将文件保存到您要恢复的同一张光盘上)

该过程完成后,所有恢复的文件应位于一个目录中,您应该在该目录中运行:

find -name '*.tex' > filelist

这将输出一个文件列表可能成为你失去的那个人。您必须检查所有这些,因为文件名将会丢失。

答案3

许多文本编辑器都会保留备份文件。如果您真的很幸运,可能会出现类似于 yourfile.tex~ 的内容,其中包括文件的先前版本。

答案4

笔记:我添加了这个关于有关已删除数据库文件(MySQL 服务器)的其他问题的答案,该问题已关闭并指向此问题。我相信它在其他一些类似的情况下也很有用(只要某些进程仍然保持文件描述符打开)。

如果您的进程仍在运行,那么您可以找到您的文件/proc/<pid>fd/并复制它们。首先发送SIGSTOP到进程组。复制文件。在一侧构建新实例并停止该实例,或者kill -9将其放回原位。 InnoDB 在运行时会自行恢复,但如果有一些 MyISAM,则必须手动执行此操作。

相关内容