測試工程時,常常的操做是:上傳,停工程,刪除工程(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)