改造rm命令+定时清理垃圾桶

本文章实现的命令均基于 Ubuntu 20.04,其它发行版可能略有差别。

改造rm命令

reference: Linux 删除文件实现回收站功能

  1. 在/home/ubuntu下创建回收站
mkdir ~/.Trash
  1. 修改./bashrc文件
vim ~/.bashrc
  1. 在 .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/*  
}
  1. 添加完毕后保存,执行 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命令

  1. 命令表
命令 作用
sudo service cron start 启动服务
service cron status 显示服务状态
sudo service cron restart 重新启动服务
service cron reload 重新加载服务
crontab -e 编辑当前用户的crontab文件
crontab -l 显示当前用户的crontab文件
crontab -r 移除已经计划好的任务
crontab -ir 移除前询问
  1. 任务格式
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.

posted @ 2022-10-23 16:41  Cisco_coco  阅读(180)  评论(0)    收藏  举报