撤消Linux的rm?[重复]


Answers:


33

在ubuntu或类似版本上:

$ sudo apt-get install trash-cli
$ alias rm=trash

然后将该别名放入.bashrc或您选择的shell的相应登录脚本中。

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

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


11
+1表示垃圾桶cli,-1表示别名rm。

1
别名有什么问题rm?我喜欢有一个用于意外删除的撤消按钮,即使在命令行中也是如此。同样,trash-cli通过接受(并忽略)许多GNU rm选项显式地促进了这一点。此外,OP要求撤消rm的方法。如果没有别名,此解决方案将无法正确回答问题。
瑞安·汤普森

15
@Ryan:因为您习惯了rm的含义与rm命令的实际含义不同,所以在不使用别名时会犯一个错误。习惯于使用垃圾桶命令,而这不会发生。

5
@Roger:或者...您可以使用别名rm,然后将自己催眠,以至忘记自己做了。这样一来,您仍然可以继续使用rm它,仿佛它是最终的。。。。你还没有完全搞砸。(即,不要依赖它的“可恢复”功能)
mpen

@RyanThompson:这是一个不错的技巧,但是如何配置它使其也可以使用sudo rm
Takehin 2010年

15

传统的答案是:

您从最新备份中恢复文件。您最近有备份吗?

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

正如其他人指出的那样,这已不再是最终的和最终的问题,但不犯此类错误仍然是首选方法。


5
我真的打算将所有脚本放在每小时提交的bzr存储库中。
亚当·马坦

3
现代的答案是:从最近的文件系统快照中恢复文件。:-)
knweiss

那是一个很酷的问题...我通常不备份〜/ Downloads ...,而是通过传递rm -fr *(1)*... 删除每个文件来擦除我的内容。因此,拥有备份并不总是解决方案。Trash-cli声音很酷。
m3nda'1

不,拥有备份始终是解决方案。仅仅因为您选择不备份某些内容,就不会使备份无法解决,它使您变得愚蠢,因为不备份某些内容。
djsmiley2k-CoW

4

为了防止将来发生假想的错误,您可能希望将rm别名为rm -i ...


6
我通常认为这永远不会阻止任何错误('y'是自动键入的),但是会浪费大量时间,并鼓励使用He-Whose-Name-Must-Not-Be-Me提及的rm -rf。
亚当·马坦

它确实给您带来了额外的收获,但事情还是一团糟。通常ls,我之前只是使用相同的参数,所以我可以看到会发生什么。
Rich Bradshaw,2009年

我通常会故意删除文件,只是后来才知道需要这些文件。因此,互动将无济于事
andrewtweber 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.