但是Linux可以通過debugfs來恢復(fù)rm誤刪的文件,這樣做的原理是刪除的文件并沒有在硬盤上被抹去,只是inode索引刪除了相關(guān)信息,只要找到剛刪除文件的block上,就可以恢復(fù)誤刪的文件了。我們主要測試的文件系統(tǒng)是ext3,先來講講怎么恢復(fù):
假設(shè)刪除的文件在dir下面,位于/dev/sda5上。
主要借助debugfs
1 運(yùn)行debugfs,進(jìn)入調(diào)度模式
2 執(zhí)行open /dev/sda5
3 執(zhí)行l(wèi)s -d dir 會(huì)列出此目錄最近的操作,其中可以看到<num>的日志刪除記錄
4 執(zhí)行l(wèi)ogdump -i <num> 顯示此日志內(nèi)容
5 在輸出中尋找刪除文件對應(yīng)的block,記錄下來blockid
6退出debugfs,運(yùn)行dd if=/dev/sda5 of=/tmp/saved bs=1024 count=1 skip=blockid
此時(shí)就把刪除的文件恢復(fù)了,不過這個(gè)方法有個(gè)問題,如果刪除的是大文件,則占用多個(gè)block,操作起來比較麻煩。debugfs在調(diào)試模式下,命令行比較難用,不過其支持-R選項(xiàng),可以在SHELL里執(zhí)行,就是用多個(gè)-R把要執(zhí)行的命令連接起來,若命令中需要指定參數(shù)則需要加"",否則SHELL解析會(huì)有問題。
誤刪文件的命令行學(xué)會(huì)了嗎?如果下次不小心刪除了想要的文件,就可以用這個(gè)辦法來恢復(fù)了,是不是很棒棒?
上一個(gè)教程:如何:Ubuntu Linux刪除/刪除PPA
下一個(gè)教程:Linux為什么會(huì)允許刪除文件?