恢复意外删除的文件

crs*_*khr 90 backup data-recovery rm

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

Ste*_*n D 114

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

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

$sudo grep -i -a -B100 -A100 'string' /dev/sda1 > file.txt
Run Code Online (Sandbox Code Playgroud)

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

祝你好运。

  • 顺便说一下,`-B100 -A100` 可以替换为等效的 `-C100`(C 表示“上下文”)。如果可能的话,我绝对不会使用 `-i`,而是使用 `-F` 代替它。 (24认同)
  • 在我切换到 Linux 几周后,有人向我展示了这个,当我杀死了一个我真正需要的文本文档时——这让我大吃一惊 (9认同)

Ste*_*fan 26

有可能,只是会很麻烦。

更新:在您尝试此方法之前,请先看看史蒂文的回答

您将需要testdisk包、大量磁盘空间大量时间。

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


首先,通过运行安装测试盘

yum install testdisk
Run Code Online (Sandbox Code Playgroud)

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

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

sudo photorec
Run Code Online (Sandbox Code Playgroud)

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

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

find -name '*.tex' > filelist
Run Code Online (Sandbox Code Playgroud)

这将输出可能是您丢失的文件的列表。您必须检查所有这些,因为文件名将丢失。

  • photorec 是一个很好的工具,我只是担心安装过程中会发生磁盘写入。有没有办法将它作为可以从外部媒体运行的独立可执行文件? (13认同)
  • 是的,你说得很对。我不知道独立的可执行文件,但可以尝试使用一些 live-cd? (2认同)
  • 为了减少用Photorec恢复的文件,第三个屏幕中会给出一个[File Opt]选择这个。您可以从列表中选择要恢复或不希望恢复的文件类型。 (2认同)

fsc*_*itt 14

许多文本编辑器保留备份文件。如果你真的很幸运,可能会有类似 yourfile.tex~ 的东西,包括你的文件的先前版本。


小智 10

还有其他的数据恢复工具和最有效的是最重要的photorec手术刀魔术救援。(我假设的“grep的”绝招告诉这里是不够的),在这里你可以找到有关如何使用它们的一些教程:

http://www.howtogeek.com/howto/15761/recover-data-like-a-forensics-expert-using-an-ubuntu-live-cd/

https://help.ubuntu.com/community/DataRecovery