恢复我用“cat”命令删除的文本文件

恢复我用“cat”命令删除的文本文件

我用了

cat > filename

趁着还没想清楚,然后按下 ctrl + c,很自然地,文件就变成空了......有没有办法恢复该文件的内容?

答案1

理论上是的。

如果你真的很幸运,新数据没有写入到你原始文件存储的物理块上,并且你知道文件中包含的字符串模式,并且你有一个可以启动的实时/救援媒体或另一台可以将磁盘连接到的机器,

然后,您可以创建分区的映像或直接使用某些二进制(安全)编辑器(例如 vim)或查看器(例如 mcview)打开 /dev/xxxx 文件并在映像/磁盘中查找字符串模式。

可能,条件会告诉你一些关于几率的信息,而“寻找”过程会让你猜测这需要花费多少时间。我以前也遇到过这种情况。

答案2

您是否恰好有另一个进程打开了该文件?如果是,也许他们已将其映射到内存中,您可以从那里恢复内容。否则,您可以找到其他答案这里

要查明某个进程是否已打开它,您可以尝试查看procfs,如下所示:ls -l /proc/*/fd/* | grep $FILENAME。或者您可以使用fuser。祝您好运!

相关内容