因爲發生了不止一次,一時腦抽刪除項目文件的經歷。在網上搜了下,
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
}
問題
- 這樣的寫法只能刪除當前目錄下的文件內容,如果是刪除指定目錄下的某個文件會有問題。
- 網上看到一種說法,直接修改rm,可能會影響系統的運行。