Linux:做个回收站

  • 2017-01-05
  • 39
  • 1
  • 1

rm在Linux中是一个又爱又恨的命令,一条命令就可以干掉所有文件,但有时失望也能酿成事故。

所以,得做个类似回收站的东东,来控制rm命令。

首先,在当前用户目录创建一个文件夹,当作这个用户的回收站:

mkdir -p ~/.trash 

 

然后,修改~/.bashrc,加入以下内容:

alias rm='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 
}

最后让这些配置生效:

source ~/.bashrc

评论