在使用linux的過程當中,不免會誤刪除一些文件,但是怎樣找回呢?
下面介紹一下ext3文件系統的數據恢復:
系統環境:Red Hat Enterprise Linux Server release 5
須要軟件:
e2fsprogs
ext3grep
測試:
e2fsprogs這個軟件系統自帶,檢查一下
若是沒有在光盤中找,或到網上找
這兩個網站不錯,幾乎全部的包都能找到
下載安裝ext3grep
#tar zxf ext3grep-0.7.0.tar.gz
#cd ext3grep-0.7.0
#./configure
#make && make install
#ext3grep
沒錯誤的話就安裝成功了
下面咱們模擬一個環境(用真實的也能夠)
#mkdir /termite
#cd /termite
#dd if=/dev/zero of=cc-disk count=1024000
#mkfs.ext3 cc-disk
#mount /termite/cc-disk /home
這樣咱們的環境就建好了,查看一下
如今往/home下寫入些文件
#cd /home
#echo test1 > 1
#cp /etc/resolv.conf .
#mkdir -p cc/cc1/cc2
查看一下
而後刪除這些文件和目錄
如今開始恢復操做
首先umount掉分區
#umount /home
而後運行ext3grep
#ext3grep /termite/cc-disk --ls --inode 2
等待一會出現如圖
看到剛纔刪除掉的文件了吧
如今恢復文件,見圖
會自動在你執行ext3grep命令的當前位置下創建RESTORED_FILES目錄,恢復的文件就在這裏面
從圖中可看到目錄cc恢復的不正確,cc下面應該還有cc1的,可知--restore-file適用與恢復文件,能夠用--restore-all嘗試恢復全部文件:
#ext3grep /termite/cc-disk --restore-all
可是也不必定能徹底恢復。我試過有時能夠把目錄恢復(包括子目錄),可是其中的文件卻找不到。
若是想詳細的瞭解ext3grep,能夠到它的的HOW TO頁去看看: