修改linux 里的rm命令

测试工程时,常常的操做是:上传,停工程,删除工程(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)  

相关文章
相关标签/搜索