您的位置:首页 > 运维架构 > Linux

linux下trash替换掉rm

2016-01-29 14:26 603 查看

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.
trash-restore       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/”中 。

U盘中的.Trash文件研究

待补充。

参考文章

linux下的回收站以及U盘中的.Trash文件夹浅析
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: