![针对这种情况的rm命令恢复](https://linux22.com/image/44756/%E9%92%88%E5%AF%B9%E8%BF%99%E7%A7%8D%E6%83%85%E5%86%B5%E7%9A%84rm%E5%91%BD%E4%BB%A4%E6%81%A2%E5%A4%8D.png)
在我的桌面上,我有一个目录。称为考试,我想从控制台中删除它并写道rm * /exam
,显然它从我的桌面上删除了一些其他文件。请告诉我有恢复的方法。
编辑:我什至不确定哪些文件被删除,所以我不知道它们的文件名。
答案1
答案2
大多数命令行命令采用空格分隔的文件或文件夹列表作为输入。*
意味着一切,所以运行rm * /exam
意味着删除当前文件夹中的所有内容,然后删除/exam
.换句话说,您已删除桌面上的所有文件(不是文件夹)。您唯一能做的就是尝试使用以下工具恢复它们由@slm 建议。
您还应该意识到,即使您已经运行了想要运行的命令,rm /exam
它也不会起作用。默认情况下,rm
不删除目录,只删除文件。为了使用它来删除目录,它需要递归 ( -r
) 标志。因此,要删除该目录/exam
,您需要运行rm -r /exam
.
保护自己免受未来此类错误影响的一种方法是rm
,别名或,rm -i
因此rm -I
系统会要求您确认文件删除。从rm
手册页:
-i prompt before every removal
-I prompt once before removing more than three files, or
when removing recursively. Less intrusive than -i,
while still giving protection against most mistakes
要为 建立rm
别名rm -i
,请将此行添加到您的~/.bashrc
文件中:
alias rm='rm -i'
答案3
有些设置会隐藏已删除的文件,请检查是否属于您的情况(我对此表示怀疑)。否则,写下来学习一下Unix的作用确切地如前所述,它不会尝试再次猜测您。曾经。