2016年10月18日 星期二

修改 rm -rf 指令

#Linux 指令模式下只要打了 #rm 指令,幾乎沒有挽救機會 與其這樣不如把 #rm 置換掉

多一層保障多一個回收站 #trash

mkdir -p ~/.trash

alias rm = trash
alias r = trash
alias rl = 'ls ~/.trash'
alias ur = undelfile

undelfile() {
  mv -i ~/.trash/$@ ./
}

trash() {
  mv $@ ~/.trash/
}

#rm 就相當於執行 #mv 了,此時已經沒有 rm -rf

刪除的文件會在 .trash 中出現,萬一又打錯可以有一次機會挽回

到這裡功能相當於 #windows 中資源回收桶的概念

如果想徹底清除檔案,不占硬碟空間,可再多以下程式碼

cleartrash() {
  read -p "clear sure?[n]" confirm
  [ $confirm == 'y' ] || [ $confirm == 'Y' ] && /usr/bin/rm -rf ~/.trash/*
}

$. .bashrc


只要執行 $cleartrash 就可以清空回收 .trash 的空間
Share:

0 意見: