安装trash
sudo apt-get install trash-chi
原理
执行trash命令后,是将文件移动了用户的回收站,每个用户的回收站路径为$HOME/.local/share/Trash,比如用户asin的回收站位于/home/asin/.local/share/Trash,用户root的回收站位于/root/.local/share/Trash。
每个用户删除自己的文件后,都会将该文件移动到自己的回收站中。
rm命令,运行该命令后,文件基本就无法恢复
查看已经删除的文件
lstrash
恢复已经删除的文件
restore-trash
设置别名
1.若要每次登入就自动生效别名,则把别名加在/etc/profile或~/.bashrc中。然后# source ~/.bashrc
2. 若要让每一位用户都生效别名,则把别名加在/etc/bash.bashrc最后面,然后# source /etc/bash.bashrc
alias rm=trash
alias lstrash=trash-list
alias rm!="/bin/rm-vi"
source /etc/bash.bashrc
bash
删除别名
格式:unalias name
# unalias cp
查看别名
alias
强制清空回收站
rm -fr $HOME/.local/share/Trash/files/*
rm -fr $HOME/.local/share/Trash/info/*
自动定期清理 trash 目录
删除存在回收站超过 7 天的文件并删除.log 中相应记录
arrayA=($(find ~/trash/* -mtime +7 | awk '{print $1}'))for file in ${arrayA[@]}do$(rm -rf "${file}")filename="${file##*/}"echo $filename$(sed -i /$filename/'d' "$HOME/trash/.log")done
脚本编写完成后通过 chmod 命令赋予其执行权限,然后运过 crontab –e 命令添加一条新的任务调度:
10 18 * * * /bin/ cleanTrashCan
该语句的含义为,在每天的下午 6 点 10 分执行 cleanTrashCan 脚本
通过这条任务调度,trash 的大小会得到有效的控制,不会持续增大以致影响用户的正常操作。
参考文献
Shell Script实现回收站功能
回收站功能在 Linux 中的实现
如何在linux设置回收站 - 防止失误操作造成数据清空
crontab的使用