撤消 Linux 的 rm?

Ada*_*tan 35 linux undo rm

可能重复:
UNDO LINUX Trash 命令

你好,

有什么简单的方法可以撤消rm命令吗?

这个问题纯粹是理论上的;我从来没有删除过一个用了整个午餐时间来运行的基准队列的日志。

Rya*_*son 40

在 ubuntu 或类似版本上:

$ sudo apt-get install trash-cli
$ alias rm=trash
Run Code Online (Sandbox Code Playgroud)

然后将该别名放在 .bashrc 或您选择的 shell 的适当登录脚本中。

trash-cli软件包是 GNOME 和 KDE 以及其他使用的同一个垃圾桶的命令行界面。因此,您通过trash命令删除的任何内容都可以由 GNOME/KDE 恢复,反之亦然。

在其他命令trash-cli包是trash-listtrash-empty,和restore-trash

  • @Ryan:因为您习惯于 rm 的含义与 rm 命令的实际含义不同,然后当它没有别名时就会出错。习惯于使用垃圾命令,这是不可能发生的。 (20认同)
  • +1 用于垃圾 cli,-1 用于别名 rm。 (13认同)
  • @Roger:或者……你可以给 `rm` 取别名,然后催眠自己忘记你做了。这样你仍然可以继续使用`rm`,就好像它是最终的一样......但是如果你滑倒并说“哦不!!” 你没有完全搞砸。(即不要依赖它的“可恢复”功能) (6认同)
  • 为了完整起见,如果您刚刚删除了文件并且它尚未在磁盘中被覆盖,则可以恢复。不久前我使用低级工具完成了它,但老实说我忘记了。堆栈交换中的某个地方可能有详细信息的答案。但是对于未来,使用`trash` 是一种方式。我改用别名提醒,例如:`alias rm='echo "tip: usetrash next time"; rm'`,这样我就保留了功能和选择。 (2认同)

dmc*_*ten 16

传统的答案是:

您从最新的备份中恢复文件。你最近有备份,不是吗?

因为在许多 unix 文件系统上,这个简单是不可能的,或者是非常困难的。

正如其他人所指出的,这不再是问题的全部和全部,但不犯这种错误仍然是首选方法。

  • 我真的打算把我所有的脚本放在一个每小时提交的 bzr 存储库中。 (5认同)
  • 现代的答案是:从最近的文件系统快照中恢复文件。:-) (3认同)

Ric*_*haw 4

为了防止未来出现假设性的错误,您可能需要alias rm='rm -i'......

  • 我通常认为这永远不会防止任何错误(“y”是自动输入的),但会消耗大量时间,并鼓励使用“He-Whose-Name-Must-Not-Be-Mentioned rm -rf”。 (8认同)