前言:
建立回收站机制的前提为使用root账户,且rm命令没有被删除。如果需要在生产环境中使用请根据个人的服务器使用权限决定。
一.首先安装vim编辑器。(不使用vim编辑器,shell语法出问题很难查清)
yum -y install vim
二.创建回收站目录
mkdir -p /data/.trash
其中trash前面的“.”表示隐藏目录如需查看使用ls -a 显示隐藏文件。是否隐藏根据使用场景考虑。
三.编辑/root/.bashrc文件
vim /root/.bashrc
具体具体代码如下:
# .bashrc
# User specific aliases and functions
alias rm=yzy
alias qk=qingkong
alias lt='ls /data/.trash'
alias hy=huanyuan
alias cp='cp -i'
alias mv='mv -i'
huanyuan(){
mv -i /data/.trash/$@ ./
}
yzy(){
#为删除的文件添加时间戳,防止相同名称的文件在回收站中被覆盖,而导致无法还原。
delete_date=`date +%Y%m%d%H%M%S`
for yy in "$@"
do
mv $yy /data/.trash/$yy-${delete_date}
echo $yy"文件已被删除"
#需要判断文件类型时使用以下代码,不需要时使用使用上方代码。
# if [ -f $yy ];then
# mv $yy /data/.trash/$yy-${delete_date}
# elif [ -d $yy ];then
# mv $yy /data/.trash/$yy-${delete_date}
# fi
done
}
qingkong(){
read -p "确定清空回收站?[输入“y”或“Y”进行确认。&&输入“n”取消。]" confirm
case $confirm in
Y | y)
/bin/rm -rf /data/.trash/*;;
N | n)
echo "ok,good bye";;
*)
echo "error choice";;
esac
}
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
四.使修改的.bashrc文件生效
source /root/.bashrc
五.命令的使用
1.rm xx(xx为删除文件或目录名称)
2.lt (查看回收站中的文件)
3.hy xx(xx为回收站中文件或目录名称)
4.qk(清空回收站,此时代表真正的rm。请谨慎使用)
后记:
本篇文章主要参考以下文章编写:
Centos7做回收站功能-防止误删除_centos7 回收站_小小傻瓜牙的博客-CSDN博客
centos7 为rm -rf 删除文件创建一个回收站_centos 7 回收站设置 博客园_Zachary01的博客-CSDN博客
【Linux】解决shell脚本中syntax error:unexpected end of file问题-CSDN博客