給rm命令加道保險

前言

在經歷了幾次rm誤刪以及一次誤刪作業後,正巧昨晚學習了alias的相關用法,終於決定給rm命令上道保險,整體思路:

  1. 創建一個隱藏的回收站目錄.trash
  2. mv命令覆蓋rm命令,讓rm命令本質上從刪除變成將文件移動到.trash目錄

同時順便實現一些相關的命令:

  • rl        查看回收站文件列表
  • ur namefile     恢復誤刪文件
  • cleartrash     確認後清空回收站清空回收站

實現

  1. 在家目錄創建.trash目錄

    skange@skange:~$ mkdir .trash

  2. 打開.bashrc文件,在最下面輸入代碼後保存退出  

    skange@skange:~$ vim .bashrc

#創建命令
alias rm='trash'
alias rl='trashlist'
alias ur='undelfile'

#mv命令覆蓋rm命令
trash()
{ 
    mv $@ ~/.trash/   
} 
#顯示回收站中垃圾清單 
trashlist() 
{ 
    ls -alt ~/.trash
} 
#找回回收站相應文件 
undelfile() 
{ 
    mv -i ~/.trash/$@ ./ 
} 
#清空回收站 
cleartrash() 
{ 
echo "確認刪除回收站所有文件??? ~/.trash [y/n]" 
read confirm 
if [ $confirm == 'y' -o $confirm == 'Y'  ] ;then 
    /bin/rm -rf ~/.trash/* 
    /bin/rm -rf ~/.trash/.* 2>/dev/null 
fi 
}

最後

在終端中運行. .bashrc 或者 source .bashrc, 此時就上好了保險, 誤刪後文件就保存在.bashrc文件夾中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章