我没睡多少觉。一个错误的脚本正在创建一个文件夹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
可以部分恢复printenv
的alias
呸!