Linux 下启用回收站

2018-09-05  本文已影响0人  Maxwell_Li

作者:Maxwell Li
日期:2017/02/03
未经作者允许,禁止转载本文任何内容。如需转载请留言。


近几天 GitLab 由于程序猿加班误删了几百 G 的数据,细细想来,自己也因为 rm -rf 闯过不少祸。所以想着在 Linux 下建一个回收站,每次执行 rm 命令时,将文件移动到回收站内,然后定时清除。Google 了一下,发现已经有 trash-cli 工具了。

安装 trash-cli:

$ apt-get install -y trash-cli

trash-cli 提供以下命令:

trash-put 或 trash 将文件或者目录放入回收站

trash-empty 清空回收站

trash-list 列出回收站文件

restore-trash 还原回收站文件(会显示列表,方便使用标号还原)

trash-rm 删除回收站文件(单个永久删除)

在 ~/.bashrc 文件后加入配置,映射 rm 命令:

alias rm=trash-put
alias rl=trash-list
alias urm=restore-trash

添加完毕后保存,执行 source 命令使其生效:

$ source ~/.bashrc

测试:

root@lyn:/home/test# mkdir test
root@lyn:/home/test# touch test1 test2
root@lyn:/home/test# ll
total 12
drwxr-xr-x 3 root root 4096 Feb  3 17:05 ./
drwxr-xr-x 6 root root 4096 Feb  3 17:05 ../
drwxr-xr-x 2 root root 4096 Feb  3 17:05 test/
-rw-r--r-- 1 root root    0 Feb  3 17:05 test1
-rw-r--r-- 1 root root    0 Feb  3 17:05 test2
root@lyn:/home/test# rm test
root@lyn:/home/test# rm test1
root@lyn:/home/test# rm test2
root@lyn:/home/test# rl
2017-02-03 17:05:45 /home/test/test
2017-02-03 17:05:55 /home/test/test2
2017-02-03 17:05:53 /home/test/test1
root@lyn:/home/test# urm
   0 2017-02-03 17:05:45 /home/test/test
   1 2017-02-03 17:05:55 /home/test/test2
   2 2017-02-03 17:05:53 /home/test/test1
What file to restore [0..2]: 1
root@lyn:/home/test# ll
total 8
drwxr-xr-x 2 root root 4096 Feb  3 17:06 ./
drwxr-xr-x 6 root root 4096 Feb  3 17:05 ../
-rw-r--r-- 1 root root    0 Feb  3 17:05 test2
root@lyn:/home/test# rm test2 
root@lyn:/home/test# trash-empty 
root@lyn:/home/test# rl

所有功能正常,但是作为懒癌晚期,必须设置定时清理。利用 crontab -e 添加定时任务。输入:

0 2 * * * trash-empty

保存退出。
crontab 的详细用法:http://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/crontab.html

上一篇 下一篇

猜你喜欢

热点阅读