修改rm命令防止誤操作

因爲發生了不止一次,一時腦抽刪除項目文件的經歷。在網上搜了下,
google出來的第一個結果就很好用,大概是作者複製粘貼的問題,echo字體顏色這裏有一點小問題,修改了下,讓它可以正常顯示。另外考慮到重名文件夾的問題,又參考另一個帖子的思路,在移入~/.trash文件夾後,在文件名後加入刪除時間,防止重名。
代碼如下,複製到~/.bashrc中,修改後執行source ~/.bashrc就可以了。

alias rm='trash'  
alias rl='trashlist'  
alias ur='undelfile'   
#替換rm指令移動文件到~/.trash/中   
trash()  
{  
   mv $@  ~/.trash/$@.`date +%Y%m%d-%H:%M:%S` 
}  
#顯示回收站中垃圾清單  
trashlist()  
{  
   echo -e "\033[32m==== Garbage Lists in ~/.trash/ ====\033[0m"  
   echo -e "\033[33m----Usage------\033[0m"  
   echo -e "\033[33m-1- Use 'cleartrash' to clear all garbages in ~/.trash!!!\033[0m"  
   echo -e "\033[33m-2- Use 'ur' to mv the file in garbages to current dir!!!\033[0m"  
   ls -al  ~/.trash  
}  
#找回回收站相應文件   
undelfile()  
{  
   mv -i ~/.trash/$@ ./  
}  
#清空回收站   
cleartrash()  
{  
   echo -ne "\033[33m!!!Clear all garbages in ~/.trash, Sure?[y/n]\033[0m"  
   read confirm  
   if [ $confirm == 'y' -o $confirm == 'Y' ] ;then  
      /bin/rm -rf ~/.trash/*  
      /bin/rm -rf ~/.trash/.* 2>/dev/null  
   fi    
}

問題

  1. 這樣的寫法只能刪除當前目錄下的文件內容,如果是刪除指定目錄下的某個文件會有問題。
  2. 網上看到一種說法,直接修改rm,可能會影響系統的運行。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章