针对这种情况的rm命令恢复

针对这种情况的rm命令恢复

在我的桌面上,我有一个目录。称为考试,我想从控制台中删除它并写道rm * /exam,显然它从我的桌面上删除了一些其他文件。请告诉我有恢复的方法。

编辑:我什至不确定哪些文件被删除,所以我不知道它们的文件名。

答案1

根据运行该命令时所在的目录,您很可能也删除了其中的文件。我过去使用过一些工具,但我认为您可能不走运。

根据数据类型,两个程序之一可能会有所帮助。

但安装它们可能会覆盖您尝试恢复的数据!

如果我是你我就会下载系统救援光盘将其刻录到 CD 或 USB 拇指驱动器并使用它的文件引导系统。 SystemRescueCd 包含用于取消删除文件的工具。我会尝试一下。

参考

答案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的作用确切地如前所述,它不会尝试再次猜测您。曾经。

相关内容