在linux系统中,绝大部分的操作都是通过命令行,虽说图形化界面下,有一个回收站,可是在命令行下却怎么办呢?rm 命令一旦执行,无法恢复。
所以对于linux而言,rm命令是一个可拍的命令,虽然如此,但是还必须时时刻刻再用,这就令人很头疼了,那么,就来做一个属于自己的回收站,也是很不错的。
回收站原理:当执行rm命令时,先把要删除的文件移动到另一个文件夹中暂存起来,再启动一个服务,定时的清除回收站中的内容。
一:创建回收站,编写rm的shell脚本文件
1,在/root/下创建一个目录,目录名为.Trash(回收站暂存文件夹,隐藏文件);
2,创建/root/removeSh/remove.sh的shell脚本文件,即rm的执行脚本文件
在remove.sh中输入如下内容
TRASH_DIR="/root/.Trash"
for i in $*; do
fileName=`basename $i`
mv $i $TRASH_DIR/$fileName
done
即rm执行时,移动文件操作
3,创建/root/removeSh/timeTask.cron 即定时删除回收站操作(每天0时删除回收站的内容)
0 0 * * * rm -rf /root/.Trash/* //每天的凌晨清空回收站的内容
0-59/30 * * * * cp -rf /root/Desktop/important /root/backup/1backup30M //每30分钟,备份一次文件
* 8-22/1 * * * cp -rf /root/Desktop/important /root/backup/2backup1Hour //每小时备份次文件
* 8-22/3 * * * cp -rf /root/Desktop/important /root/backup/3backup3Hour //每3小时备份次文件
* 8-22/5 * * * cp -rf /root/Desktop/important /root/backup/4backup5Hour //每5小时备份次文件
* * 1-31/1 * * cp -rf /root/Desktop/important /root/backup/5backup1Day //每天备份次文件
* * 1-31/3 * * cp -rf /root/Desktop/important /root/backup/6backup3Day //每3天备份次文件
第二步:添加定时任务。执行命令 “crontab timeTask.cron”。搞定
第三步:"crontab -l" 查看定时任务是否成功或者检测/var/spool/cron下是否生成对应cron脚本
注意:这操作是直接替换该用户下的crontab,而不是新增
4,修改/root/.bashrc,增加一行(删除命令rm时,执行该脚本文件)
alias rm="sh /root/removeSh/remove.sh
5,大功告成。
参考资料:
博文索引 持续更新中。。。