把rm命令转换成mv命令,不能使用-r 参数,会报出一个错误,因为mv命令没有-r参数,下面是方法:
在用户主目录下创建一个隐藏文件夹~/.trash作为垃圾回收站
[root@akuilinux01 shellXT]# mkdir -p ~/.trash
写一个脚本
[root@akuilinux01 tmp]# vim ~/.bashrc
#设置别名,rm是删除文件,rl是查看回收站,ur是恢复文件
alias rm=‘trash’
alias rl=‘trashlist’
alias ur=‘undelfile’
#替换rm指令移动文件到~/.trash/中
trash()
{
mv $@ ~/.trash/
}
#显示回收站中垃圾清单
trashlist()
{
echo -e “\033[32m ==== Garbage Lists in ~/.trash/ ==== \033[0m”
echo -e “\033[33m ----Usage------ \033[0m”
echo -e “\033[33m -1- Use ‘cleartrash’ to clear all garbages in ~/.trash!!! \033[0m”
echo -e “\033[33m -2- Use ‘ur’ to mv the file in garbages to current dir!!! \033[0m”
ls -al ~/.trash
}
#找回回收站相应文件
undelfile()
{
mv -i ~/.trash/$@ ./
}
#清空回收站
cleartrash()
{
echo -ne “\033[33m !!!Clear all garbages in ~/.trash, Sure?[y/n] \033[0m”
read confirm
if [ $confirm == ‘y’ -o $confirm == ‘Y’ ] ;then
/bin/rm -rf ~/.trash/
/bin/rm -rf ~/.trash/. 2>/dev/null
fi
}
#Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
[root@akuilinux01 ~]# source ~/.bashrc