获取 rm -rf 删除的文件列表

获取 rm -rf 删除的文件列表

我没睡多少觉。一个错误的脚本正在创建一个文件夹somewhere/~,我尝试使用 删除它rm -rf ~

我快速按下 Ctrl C,我认为我并没有丢失太多文件。我知道他们永远迷失了。还有办法获取已删除文件的列表吗?

答案1

我快速按下 Ctrl C,我认为我并没有丢失太多文件。我知道他们永远迷失了。还有办法获取已删除文件的列表吗?

没有简单的方法可以“列出”您已删除的内容。您可以尝试extundelete /dev/home_partition(sdx) --restore-all恢复您的数据,或者按照此广泛的答案使用更“安全”的方法来管理已删除的数据:

测试盘在这个任务中也是你的朋友吗?

答案2

如果locate安装了并且每天运行 cron 作业updatedb来更新列表,并且它在您之前rm而不是之后运行,您可以尝试:

locate -0 ~/\* | perl -l -0 -ne 'print unless lstat$_'

了解损坏情况。

即找到locate数据库中不再存在的文件。

使用 GNU locate(不是mlocate),您可以将其缩短为:

locate -E ~/\*

答案3

尽管我无法获得已删除文件的确切列表,但我可以看到保留在ls -fa ~.由于文件被删除的顺序是已知的(这与您获得用 列出的文件相同ls -f),我可以知道直到哪里rm。所以

$ ls -fa ~
.
..
.cocoapods
...

因此,直到 的所有内容.cocoapods以及该文件夹中的一些内容都被删除了。对我来说,这意味着我很幸运,因为这主要是~/.bashrc~/.bash_profile可以部分恢复printenvalias

呸!

相关内容