欢迎来到cool的博客
7

Music box

Click to Start

点击头像播放音乐
新博客链接

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

返回列表