测试工程时,常常的操做是:上传,停工程,删除工程(rm -rf xxx.jar),复制工程(cp /home/xxm/project/xxx.jar .),启动工程linux
结果今天执行了个rm -rf xxx.jar .bash
虽然没有什么问题,但仍是吓了一跳。。。函数
---------------------分割线------------------------------------测试
以前找过替换linux的rm方法,可是一直没时间试试,如今尝试下spa
mkdir -p ~/.trash #建立一个目录做为回收站file
全部用户在调用bash时候都会先加载该文件/etc/bashrc,也能够写入在单个用户的家目录下面的.bashrc文件中,针对单个用户作限制。作法就是修改原始的rm命令:方法
alias rm='rm -i' 改成 alias rm=<移动文件至回收站命令>数据
alias rm=trash #别名 设置 rm改变为trash移动
alias rl=’ls ~/.trash’ # rl 命令显示回收站中的文件di
alias ur=undelfile # ur命令找回回收站中的文件,函数为undelfile()
undelfile(){
mv -i ~/.trash/\$@ ./
}
trash(){
mv \$@ ~/.trash/
}
cleartrash(){
read -p “clear sure?[n]” confirm
[ \$confirm == 'y' ] || [ \$confirm == 'Y' ] && /bin/rm -rf ~/.trash/*
}
若是确认须要删除数据文件能够使用/bin/rm绝对路径进行删除
具体的代码以下:
mkdir -p ~/.trash
cat >> ~/.bashrc <<EOF
alias rm=trash
alias rl='ls ~/.trash'
alias ur=undelfile
undelfile()
{
mv -i ~/.trash/\$@ ./
}
trash()
{
mv \$@ ~/.trash/
}
cleartrash()
{
read -p "clear sure?[n]" confirm
[\$confirm == 'y' ] || [ \$confirm == 'Y' ] && /bin/rm -rf ~/.trash/*
}
EOF
每次修改.bashrc后,使用source ~/.bashrc(或者 . ~/.bashrc)