改造rm命令+定时清理垃圾桶
本文章实现的命令均基于 Ubuntu 20.04,其它发行版可能略有差别。
改造rm命令
reference: Linux 删除文件实现回收站功能
- 在/home/ubuntu下创建回收站
mkdir ~/.Trash
- 修改./bashrc文件
vim ~/.bashrc
- 在 .bashrc 文件后面添加下面这些
alias rm=trash
alias rl='ls ~/.Trash'
alias ur=undelfile
undelfile()
{
mv -i ~/.Trash/$@ ./
}
trash()
{
mv $@ ~/.Trash/
}
cleartrash()
{
ls ~/.Trash -l
read -p "Clear trash?[y/n]" confirm
[ $confirm == 'y' ] || [ $confirm == 'Y' ] && /usr/bin/rm -rf ~/.Trash/*
}
- 添加完毕后保存,执行 source 命令生效
source ~/.bashrc
- rm 命令
rm hello #delete a dir
rm hello.txt #delete a file
- ur 命令
ur hello # restore a dir
ur hello.txt # restore a file
- rl 命令
rl # show files in trash
- cleartrash 命令
cleartrash # clear trash, need confirm
A example of what you can do with Trash:
find / -name "crontab" 2>~/.Trash/error //将权限不够的警告重定向到Trash
定时清理垃圾桶
reference: Linux中脚本文件的自动执行——crontab命令
- 命令表
| 命令 | 作用 |
|---|---|
| sudo service cron start | 启动服务 |
| service cron status | 显示服务状态 |
| sudo service cron restart | 重新启动服务 |
| service cron reload | 重新加载服务 |
| crontab -e | 编辑当前用户的crontab文件 |
| crontab -l | 显示当前用户的crontab文件 |
| crontab -r | 移除已经计划好的任务 |
| crontab -ir | 移除前询问 |
- 任务格式
| m | h | dom | mon | dow | command |
|---|---|---|---|---|---|
| 0 | * | * | * | * | echo "if u c it, crontab is working." >> ~/.Trash/testcron |
| 0 | 8 | * | * | 1 | tar -zcf /var/backups/home.tgz /home/ |
| 0 | 8 | 1 | * | * | ~/document/shell_script/cleartrash.sh |
m short for minute
h short for hour
dom short for day of month
mon short for month
dow short for day of week(Monday Tuesday and so on)
第三个任务的意思就是每个月的第一天的8:00运行一次cleartrash.sh脚本。
Thanks for USTC vlab.

浙公网安备 33010602011771号