國外的Linux系統(tǒng)管理員守則中有這么一條:“慎用 rm -rf 命令,除非你知道此命令
所帶來的后果“
Linux下刪除文件并不是真實的刪除磁盤分區(qū)中的文件,而是將文件的inode節(jié)點中
的扇區(qū)指針清除,同時釋放這些數據對應的數據塊,當釋放的數據塊被系統(tǒng)重新分
配時,那些被刪除的數據就會被覆蓋,所以誤刪除數據后,應馬上卸載文件所在的
分區(qū)。
每個文件有inode和block組成,inode是文件系統(tǒng)組成的最基本單元,它保存著文
件的基本屬性(大小、權限、屬主組等)和存放的位置信息。而block用來存儲數據。
類似key-value,inode就是key,block對應value,通過key查找key對應的value。
類似pyt hon的字典。
目錄
1 查看根目錄的inode值
2 安裝ext undelet e
2.1 下載ext undelet e
2.2 所需依賴包
2.3 編譯安裝ext undelt e
3 用ext undelet e恢復文件
3.1 模擬數據誤刪除環(huán)境
3.2 卸載磁盤分區(qū)
3.3 查詢恢復數據信息
3.4 開始恢復單個文件
4 檢測是否恢復成功
查看根目錄的inode值
# ls -id /
2 /
一般”根”目錄的inode值為2,一個分區(qū)掛載到一個目錄下時,這個”根”目錄的inode值
為2
# mount /dev/sdb2 /mnt
# ls -id /mnt
2 /mnt
# umount /dev/sdb1
3、查看當前路徑下的文件目錄刪除情況
開始恢復單個文件
默認恢復到當前目錄下的RECOVERED_FILES目錄中去
# extundelete /dev/sdb2 --restore-file hosts
恢復一個目錄
# extundelete /dev/sdb2 --restore-directory test/
全部恢復
# extundelete /dev/sdb2 --restore-all