ubuntu系統下使用rm命令刪除文件

一 ubuntu系統下使用rm命令刪除文件,如何恢復?

    如果是ext3/ext4文件系統,可以使用extundelete工具恢復。

$ df -hT
文件系統       類型      容量  已用  可用 已用% 掛載點
/dev/sda1    ext4      455G  366G   66G   85% /

    參考文章:

    1. http://longgeek.com/2012/11/25/extundelete-recovery-for-linux-ext2-ext3-ext4-rm-rf-accidental-deletion-of-data/

    2. http://www.linuxyunwei.com/2012/08/ext4%E4%B8%AD%E6%81%A2%E5%A4%8D%E4%BD%BF%E7%94%A8rm%E5%91%BD%E4%BB%A4%E8%AF%AF%E5%88%A0%E9%99%A4%E7%9A%84%E6%96%87%E4%BB%B6/


二 建議安裝好ubuntu後,先將rm命令做一下別名替換。

    替換rm命令爲mv命令,將要刪除的文件移動到一個自定義的文件夾裏,防止誤刪除。

代碼如下:

1. 在/home/username/ 目錄下新建一個目錄,命名爲:.trash

2. 在/home/username/tools/目錄下,新建一個shell文件,命名爲:remove.sh。內容如下:
PARA_CNT=$#
TRASH_DIR="/home/username/.trash"
for i in $*; do
    STAMP=`date +%s`
    fileName=`basename $i`
    mv $i $TRASH_DIR/$fileName.$STAMP
done

3. 修改~/.bashrc, 增加一行
alias rm="sh /home/username/tools/remove.sh"
用我們自建的remove.sh替代rm命令

4. 設置crontab,定期清空垃圾箱,如:
0 0 * * * rm -rf /home/username/.trash/*
每天0點清空垃圾箱

5. source ~/.bashrc 使替換立即生效
經過上面的步驟後,執行rm刪除的文件,會被放入垃圾箱。如果誤刪除,可以從中恢復。

6. 由於~/.bashrc這個文件對root用戶無效,所以也要修改/etc/bash.bashrc,
這個文件有全局效應。
    在最後一行加上:alias rm="sh /home/username/tools/remove.sh"

    這樣,把rm命令轉換成了mv命令,能夠達到想要的效果,只不過在習慣性的敲入-r 參數時會報出一個錯誤,因爲mv命令沒有-r參數嘛。




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