重要
注意不能直接修改rm命令,因为当你在运行一些其它的安装脚本时,里面可能会用到rm命令,这时候如果你修改了rm命令成mv命令,那么可能会出现一些意想不到的错误。到时候脚本运行出错了,你也很难搞清楚到底是哪出错了。
一种推荐的做法就是,自定义一个删除命令,例如myrm,与系统命令区分开来。但是,你每次删除东西的时候,记得使用自己定义的删除命令就行了。例如:
rm someFile
rm -r someDirectory
具体方法
原理是在用户主目录下创建一个隐藏文件夹~/.trash作为垃圾回收站。
mkdir -p ~/.trash
vi ~/.bashrc
然后把以下代码写入~/.bashrc后,保存一下。
alias myrm='trash'
alias rl='trashlist'
alias ur='undelfile'
#替换rm指令移动文件到~/.trash/中
trash()
{
mv $@ ~/.trash/
}
#显示回收站中垃圾清单
trashlist()
{
echo -e "33[32m==== Garbage Lists in ~/.trash/ ====33[0m"
echo -e "\a33[33m----Usage------33[0m"
echo -e "\a33[33m-1- Use 'cleartrash' to clear all garbages in ~/.trash!!!33[0m"
echo -e "\a33[33m-2- Use 'ur' to mv the file in garbages to current dir!!!33[0m"
ls -al ~/.trash
}
#找回回收站相应文件
undelfile()
{
mv -i ~/.trash/$@ ./
}
#清空回收站
cleartrash()
{
echo -ne "\a33[33m!!!Clear all garbages in ~/.trash, Sure?[y/n]33[0m"
read confirm
if [ $confirm == 'y' -o $confirm == 'Y' ] ;then
/bin/rm -rf ~/.trash/*
/bin/rm -rf ~/.trash/.* 2>/dev/null
fi
}
转载请注明来源:http://blog.csdn.net/greenlight_74110/article/details/78446339