预期效果:
在刚工作的时候,我犯过一个致命的新手错误,那就是误删文件或者配置,导致服务配置文件缺失等错误。虽然有异地备份,不过为了采取故障恢复最短时间原则,还是觉得本地有个回收机制比较好,就类似于windows的回收站。
配置步骤:
设置环境变量:
mkdir -p /wakamizu/shell
echo "PATH=$PATH:/wakamizu/shell" >> /etc/bashrc
source /etc/bashrc
编写回收脚本
vim /wakamizu/shell/wakamizu_rm
#!/bin/bash
trash_path=/.trash
[[ ! -d $trash_path ]] && mkdir $trash_path
if [[ "$1" =~ ^- ]];then
num=$[$#-1]
shift 1
for(( i=1;i<=$num;i++ ));do
if [ `dirname $1` = "." ];then
dir_path=$trash_path`pwd`
else
dir_path=$trash_path`dirname $1`
fi
[[ ! -d $dir_path ]] && mkdir -p $dir_path
mv -f --backup=numbered $1 $dir_path
shift 1
done
else
num=$#
for(( i=1;i<=$num;i++ ));do
if [ `dirname $1` = "." ];then
dir_path=$trash_path`pwd`
else
dir_path=$trash_path`dirname $1`
fi
[[ ! -d $dir_path ]] && mkdir -p $dir_path
mv -f --backup=numbered $1 $dir_path
shift 1
done
fi
给予脚本执行权限
chmod +x /wakamizu/shell/wakamizu_rm
建立回收站目录,并设置权限
mkdir /.trash && chmod 777 /.trash
更改rm别名为wakamizu_rm
alias rm='wakamizu_rm'
查看rm别名是否生效

rm别名更改永久生效
echo "alias rm='wakamizu_rm'" >> /etc/bashrc
source /etc/bashrc
清空回收站脚本
vim /wakamizu/shell/wakamizu_empty_trash
#!/bin/bash
rm -rf /.trash/*
添加执行权限
chmod +x /wakamizu/shell/wakamizu_empty_trash