經(jīng)過多次手賤刪除checkpoint和一次手賤刪掉好不容易改好的腳本讓我終于意識到要養(yǎng)成良好的工作習(xí)慣吁峻!
可以修改rm為移動到一個目錄,然后再用腳本定期清理這個目錄在张。這樣如果誤刪除了在下一次清理之前就有機(jī)會補(bǔ)救找回
對于PC用含,每晚都關(guān)機(jī)的話,可以使用系統(tǒng)的/tmp目錄帮匾。因?yàn)?tmp目錄在每次關(guān)機(jī)時系統(tǒng)都會自動清理里面的內(nèi)容啄骇,這樣也省去了定時任務(wù)的步驟。
具體的方法如下:
首先建立一個腳本remove.sh并編輯:
touch remove.sh
mkdir -p /tmp/delete
NOW=`date +%Y-%m-%d_%H:%M:%S`
for i in $*;
do
fileName=`basename $i`
mv -v $i /tmp/delete/$fileName.$NOW
done
這里是將要刪除的文件(夾)移動到了/tmp/delete文件夾并輸出提示
文件(夾)名字加入了刪除時間的后綴防止了重名的出現(xiàn)
然后alias rm指令到我們寫的remove.sh腳本瘟斜,~/.bashrc中最后一行添加:
alias rm='sh ~/你的remove.sh的位置'
使環(huán)境變量立即生效:
source ~/.bashrc
如果是使用在服務(wù)器上缸夹,永不關(guān)機(jī),就需要移動到指定的目錄下螺句,計(jì)劃crontab定期清理了虽惭,比如:
crontab -e
最后一行添加:
0 3 * * * rm -rf /你的刪除存放目錄/*
表示每天凌晨3點(diǎn)定期清理指定目錄下的文件
千萬注意目錄一定要寫對!別一覺醒來蛇尚,家沒了……
這里不用擔(dān)心rm被之前替換的問題芽唇,這里是系統(tǒng)調(diào)用rm指令,而我們的alias別名僅對用戶自己的環(huán)境變量有效
大功告成取劫,再也不怕誤刪文件了