將linux下的rm命令改造成移動文件至回收站

rm是Linux下文件刪除的命令,它是Linux下非常強大卻又非常危險的一條命令,特別是rm -rf有時候強大到讓你欲哭無淚,當你想清除當前目錄下的所有文件和目錄時,很簡單 #rm -rf ./* 這沒什麼,但是,但是如果不小心打成這樣 #rm -rf /* 兄弟請節哀吧!~~ rm刪除文件同時刪除inode信息,這使得使用rm刪除的文件十分難恢復。總之rm太危險了,特別是帶有-rf參數時一定要慎之又慎,但老虎也有打盹的時候啊,所以爲什麼不給rm一劑後悔藥呢! 經過在網上不斷的尋找,我找到了一段將rm命令改造爲把文件移動到一個指定的回收站目錄下,然後可以查看回收站目錄下的文件,然後在清空回收站目錄徹底刪除文件的一段代碼,這短代碼的原始出處已經無從考究,但本着獨樂樂不如衆樂樂的精神把它分享出來!

#mkdir -p ~/.trash //創建一個目錄作爲回收站,這裏使用的是用戶家目錄下的.trash目錄
#alias rm=trash //命令別名 rm改變爲trash,通過將rm命令別名值trash來實現把rm改造成刪除文件至回收站
#alias r=trash
#alias rl=’ls ~/.trash’ // rl 命令顯示回收站中的文件
#alias ur=undelfile // ur命令找回回收站中的文件
#undelfile()
{
mv -i ~/.trash/\$@ ./
} //這個函數的作用是找回回收站下的文件
#trash()
{
mv $@ ~/.trash/
} //這個函數是將指定的文件移動到指定的目錄下,通過將rm命令別名值trash來實現把rm改造成刪除文件至回收站
#cleartrash()
{
read -p “clear sure?[n]” confirm
[ $confirm == 'y' ] || [ $confirm == 'Y' ] && /bin/rm -rf ~/.trash/*
} //這個函數的作用是清空回收站目錄下的所有文件

這段代碼定義了三個函數trash、undelfile和cleartrash。trash的作用是移動文件到指定的回收站目錄;undelfile的作用是找回回收站目錄中的指定文件;cleartrash的作用是清空回收站目錄。經rm命令別名爲trash來實現rm命令的改造! 下面是我修改後的代碼,直接在用戶家目錄下創建。trash目錄作爲回收站,將其它代碼加入用戶家目錄下的.bashrc文件下,這樣用戶每次登錄這段代碼就會自動生效!登錄後在bash下執行一遍下面的命令就可以把rm命令改造成刪除文件到回收站了!

#mkdir -p ~/.trash
#cat >> .bashrc <

 

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