trash-cli是一个使用 python 开发的软件包,包含 trash-put、restore-trash、trash-list、trash-empty、trash-rm等命令,我们可以通过这写命令,将文件移动到回收站,或者还原删除了的文件。
trash-cli的项目地址:trash-cli下载地址
转载于http://www.seiang.com/?p=229
1、下载trash-cli安装包
- [root@VM_54_118_centos others]# git clone https://github.com/andreafrancia/trash-cli.git
- Cloning into 'trash-cli'...
- remote: Enumerating objects: 4556, done.
- remote: Total 4556 (delta 0), reused 0 (delta 0), pack-reused 4556
- Receiving objects: 100% (4556/4556), 1.17 MiB | 716.00 KiB/s, done.
- Resolving deltas: 100% (2791/2791), done.
- 进入下载目录
- [root@VM_54_118_centos others]# cd trash-cli/
- [root@VM_54_118_centos trash-cli]# ll
- total 112
- -rw-r--r-- 1 root root 251 Feb 2 17:29 bugs.txt
- -rw-r--r-- 1 root root 4766 Feb 2 17:29 check_release_installation.py
- -rw-r--r-- 1 root root 17992 Feb 2 17:29 COPYING
- -rw-r--r-- 1 root root 1432 Feb 2 17:29 CREDITS.txt
- drwxr-xr-x 3 root root 4096 Feb 2 17:29 docs
- -rw-r--r-- 1 root root 782 Feb 2 17:29 DONE.txt
- -rw-r--r-- 1 root root 3408 Feb 2 17:29 HISTORY.txt
- -rwxr-xr-x 1 root root 240 Feb 2 17:29 install-rpm.sh
- drwxr-xr-x 2 root root 4096 Feb 2 17:29 integration_tests
- drwxr-xr-x 3 root root 4096 Feb 2 17:29 man
- -rw-r--r-- 1 root root 78 Feb 2 17:29 MANIFEST.in
- -rw-r--r-- 1 root root 4774 Feb 2 17:29 README.rst
- -rw-r--r-- 1 root root 24 Feb 2 17:29 requirements-dev.txt
- -rwxr-xr-x 1 root root 293 Feb 2 17:29 setup.cfg
- -rw-r--r-- 1 root root 2423 Feb 2 17:29 setup.py
- drwxr-xr-x 2 root root 4096 Feb 2 17:29 tasks
- -rw-r--r-- 1 root root 799 Feb 2 17:29 TODO.txt
- drwxr-xr-x 2 root root 4096 Feb 2 17:29 trashcli
- -rwxr-xr-x 1 root root 127 Feb 2 17:29 trash-put
- -rwxr-xr-x 1 root root 126 Feb 2 17:29 trash-rm
- drwxr-xr-x 2 root root 4096 Feb 2 17:29 unit_tests
- -rw-r--r-- 1 root root 243 Feb 2 17:29 Vagrantfile
2、开始安装
- [root@VM_54_118_centos trash-cli]# python setup.py install
- .......
- running install_scripts
- copying build/scripts-2.7/trash-rm -> /usr/bin
- copying build/scripts-2.7/trash-list -> /usr/bin
- copying build/scripts-2.7/trash-put -> /usr/bin
- copying build/scripts-2.7/trash-empty -> /usr/bin
- copying build/scripts-2.7/trash -> /usr/bin
- copying build/scripts-2.7/trash-restore -> /usr/bin
- changing mode of /usr/bin/trash-rm to 755
- changing mode of /usr/bin/trash-list to 755
- changing mode of /usr/bin/trash-put to 755
- changing mode of /usr/bin/trash-empty to 755
- changing mode of /usr/bin/trash to 755
- changing mode of /usr/bin/trash-restore to 755
- running install_data
- copying man/man1/trash-empty.1 -> /usr/share/man/man1
- copying man/man1/trash-list.1 -> /usr/share/man/man1
- copying man/man1/trash-restore.1 -> /usr/share/man/man1
- copying man/man1/trash-put.1 -> /usr/share/man/man1
- copying man/man1/trash-rm.1 -> /usr/share/man/man1
- running install_egg_info
- Writing /usr/lib/python2.7/site-packages/trash_cli-0.17.1.14-py2.7.egg-info
3、安装成功后我们的系统就有了以下工具.
- [root@VM_54_118_centos ~]# ll /usr/bin/ | grep trash
- -rwxr-xr-x 1 root root 123 Feb 2 17:43 trash
- -rwxr-xr-x 1 root root 125 Feb 2 17:43 trash-empty
- -rwxr-xr-x 1 root root 124 Feb 2 17:43 trash-list
- -rwxr-xr-x 1 root root 123 Feb 2 17:43 trash-put
- -rwxr-xr-x 1 root root 127 Feb 2 17:43 trash-restore
- -rwxr-xr-x 1 root root 122 Feb 2 17:43 trash-rm
功能说明:
trash-put 将文件或目录移入回收站
trash-empty 清空回收站
trash-list 列出回收站中的文件
trash-restore还原回收站中的文件
trash-rm 删除回首站中的单个文件
4、安装完毕之后我们可以通过一些配置,用它替代 rm命令
- [root@VM_54_118_centos ~]# vim .bashrc
- # .bashrc
- #alias rm='rm -i'
- alias rm='trash-put'
5、实验测试
删除测试:
- [root@VM_54_118_centos ~]# rm -rf dump.rdb
- [root@VM_54_118_centos ~]# ll ~/.local/share/Trash/files
- -rw-r--r-- 1 root root 123 Jul 17 2018 dump.rdb
- [root@VM_54_118_centos ~]# trash-list
- 2019-02-02 18:02:33 /root/dump.rdb
还原删除的文件
- [root@VM_54_118_centos ~]# trash-restore /root/dump.rdb
- 0 2019-02-02 18:01:08 /root/dump.rdb.bak
- 1 2019-02-02 18:02:33 /root/dump.rdb
- What file to restore [0..1]: 1
- 还原成功
- [root@VM_54_118_centos ~]# ll /root/dump.rdb
- -rw-r--r-- 1 root root 123 Jul 17 2018 /root/dump.rdb
备注:
trash-put命令会把我们想要删除的文件移动到~/.local/share/Trash/files 中。
相关信息记录在~/.local/share/Trash/info中。