linux下trash替换掉rm
详情请参考
linux中的删除与回收站
windows下的文件删除后就放到了回收站里,linux下的文件删除则分两种情况:
- 界面删除:在文件夹界面右击“删除”,则该文件将移动到回收站,与windows下类似。
- 命令行删除:rm命令,运行该命令后,文件基本就无法恢复了(可能有恢复的办法,待研究)。
用命令trash
代替rm
安装
为避免使用rm
删除文件后无法恢复的情况,执行easy_install trash-cli
安装trash-cli,实现命令行下的回收站。项目见-trash-cli
安装后,可以实现文件删除、复原、回收站查看、清空、删除等,各命令如下所示
trash-put trashes files and directories.
trash-empty empty the trashcan(s).
trash-list list trashed file.
restore-trash restore a trashed file.
trash-rm remove individual files from trash can.
配置
进行如下别名设置,在用户执行rm
时提醒用户使用trash
代替。注意:并没有将rm直接映射为trash,是因为系统中其它很多地方都使用了rm命令,若将其用trash替换掉,往往会带来许多问题。
alias rm='echo "This is not the command you are looking for, Please Use "trash"!!!"; false'
原理
执行trash命令后,是将文件移动了用户的回收站,每个用户的回收站路径为$HOME/.local/share/Trash
,比如用户asin的回收站位于/home/asin/.local/share/Trash
,用户root的回收站位于/root/.local/share/Trash
。
每个用户删除自己的文件后,都会将该文件移动到自己的回收站中。但若用户A删除了用户B的文件,则将文件移动到公共回收站“/home/.Trash/”中 。