- rm -rf 是一个极其危险的操作,而且linux端不像windows,有回收站的后悔药可以吃,所以一旦误操作,就会造成不可挽回的后果。
- 今天通过shell重写,在linux端实现一个回收站的功能,可以实现将rm -rf 删除的文件指定存放到一个路径下,并定期来清理。
- 创建一个路径来作为我们的回收站:cd ~ && mkdir .trash
- 赋予最高权限:chmod 777 .trash
- 修改你的 home 目录下的:.bashrc: vim ~/.bashrc
# rm transform
function rm() {
# 定期清理回收站,时间可调整
now=$(date +%s)
for s in $(ls --indicator-style=none $HOME/.trash/) ;do
dir_name=${s//_/-}
dir_time=$(date +%s -d $dir_name)
# if big than one month then delete
if [[ 0 -eq dir_time || $(($now - $dir_time)) -gt 2592000 ]] ;then
echo "Trash " $dir_name " has Gone "
/bin/rm $s -rf
fi
done
# 重写rm命令,将文件mv到回收站下
prefix=$(date +%Y_%m_%d)
hour=$(date +%H)
mkdi