修改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)  

相關文章
相關標籤/搜索