没有反馈就是最好的反馈——Unix交互方式
在贴吧上时经常发现有人欺负新人,说使用rm -rf /
可以看得精彩的效果,他老实地听了,结果....结果确实挺‘精彩’的,把整个系统都干掉了。
rm的功能实在太强大,有时候删掉的文件直接找不回来,我们不得不慎用,但我们总不能像对待定时炸弹一样使用我们的Linux。这么说来,都有点怀念Windows下的回收站了,Linux是有回收站功能的,但使用rm
命令默认是不经过回收站的,有没有方法解决这个问题呢?有高手已经‘先我们之急’解决这个问题了,这就是我要记录的主题:trash-cli。
trash-cli就是带有回收站(Trash)功能的命令行删除工具,其主要特点有
- 兼容rm命令行接口,可以alias rm为trash-cli
- 为删除的每一个文件记录原始路径,删除时间和文件访问权限
- 兼容GNOME和KDE桌面的trash,实现桌面和terminal操作的统一
- 实现了FreeDesktop.org Trash Specification
- 支持除home文件系统以外的其他文件系统,比如不同的分区或移动设备分区
下面我们安装配置一下这个工具。
- 安装
尝试了下,库里是有这个工具的,但是听说版本较低,而且有bugs,我们还是从github上获取最新的版本吧:https://github.com/andreafrancia/trash-cli 解压后,进入目录,执行下面的命令安装:
sudo python setup.py install
成功后,我们进入配置文件配置以下rm
这个命令,让其接管trash-put
(下面会讲)的功能。
- 配置trach-cli
打开.bashrc
$vim ~/.bashrc
添加一行
alias rm=‘trash-put‘
alias lstrash=‘trash-list‘
最后注意不要忘了执行以下点命令,让刚才修改的配置文件立即生效
source ~/.bashrc
这个命令的好处是不用注销和重新登录。
下面我们就可以松开双手使用rm
命令,而不必担心找不回资料了。
下面是一些比较常用的trash命令:
trash-put trashes files and directories.
trash-empty empty the trashcan(s).
trash-list list trashed file.
trash-restore restore a trashed file.
trash-rm remove individual files from trash can.
注:这个方法非常好用,trash-cli的作者起初也认为这是一个好的方法,但是他后来反悔了。他认为如果使用“rm -R”会删除所有的目录,但是trash不能。但是如果我们并不常用这个带有-R的命令,我们还是可以尽情的使用本文设置的命令。
Reference:
http://openwares.net/linux/rm_to_trash.html
http://zpz.name/1810/
http://blog.youkuaiyun.com/simon_dong618/article/details/1581132