linux系統(tǒng)中誤刪文件可通過(guò)extundelete工具恢復(fù),前提是文件未被覆蓋。1. 安裝extundelete并確認(rèn)目標(biāo)設(shè)備路徑;2. 使用–inode參數(shù)查看可恢復(fù)文件列表;3. 通過(guò)–restore-file或–restore-Directory恢復(fù)指定文件或目錄;4. 恢復(fù)前盡量卸載文件系統(tǒng)以避免數(shù)據(jù)覆蓋;5. 注意恢復(fù)后的文件權(quán)限、文件名可能異常,并非所有文件都能成功恢復(fù)。
文件誤刪在linux系統(tǒng)中雖然不是每天都會(huì)遇到,但一旦發(fā)生確實(shí)挺讓人頭疼的。如果是ext3/ext4文件系統(tǒng),可以試試extundelete這個(gè)工具,它能幫你找回不少被刪除的文件。
不過(guò)要注意的是:恢復(fù)成功的前提是刪除后的文件沒(méi)有被覆蓋,所以發(fā)現(xiàn)誤刪后最好立刻停止寫(xiě)入操作,包括不要安裝新軟件、不復(fù)制文件,甚至盡量別重啟系統(tǒng)。
下面我來(lái)一步步說(shuō)怎么用 extundelete 恢復(fù)文件。
安裝 extundelete
首先得確認(rèn)你的系統(tǒng)是否已經(jīng)安裝了 extundelete。如果沒(méi)有,可以通過(guò)包管理器安裝:
-
sudo apt update && sudo apt install extundelete
-
centos/RHEL 系統(tǒng):
sudo yum install epel-release sudo yum install extundelete
-
如果找不到包,可以去官網(wǎng)下載源碼編譯安裝。
安裝完成后,輸入 extundelete –help 可以看到基本命令幫助。
查看可恢復(fù)文件列表
使用 extundelete 前,需要指定目標(biāo)設(shè)備(比如 /dev/sda1),而不是掛載點(diǎn)目錄。你可以通過(guò) df -h 來(lái)查看當(dāng)前掛載的設(shè)備路徑。
執(zhí)行以下命令查看有哪些文件可以恢復(fù):
sudo extundelete /dev/sda1 --inode 2
這里的 –inode 2 表示從根目錄開(kāi)始掃描。輸出結(jié)果會(huì)列出文件名、inode號(hào)、狀態(tài)(Deleted表示已刪除)等信息。
如果你知道要恢復(fù)哪個(gè)目錄下的文件,可以加參數(shù)縮小范圍,例如:
sudo extundelete /dev/sda1 --restore-directory /home/user/docs
恢復(fù)單個(gè)或多個(gè)文件
如果只想恢復(fù)某個(gè)具體文件,可以用 –restore-file 參數(shù)加上文件相對(duì)路徑。比如:
sudo extundelete /dev/sda1 --restore-file home/user/report.docx
注意這里路徑是相對(duì)于文件系統(tǒng)的相對(duì)路徑,不是絕對(duì)路徑。
恢復(fù)后的文件默認(rèn)會(huì)保存到當(dāng)前目錄下的 RECOVEred_FILES 文件夾里。你可以進(jìn)去檢查是否恢復(fù)成功。
如果你想恢復(fù)所有還能找回來(lái)的文件,可以直接運(yùn)行:
sudo extundelete /dev/sda1 --restore-all
不過(guò)這樣做可能會(huì)生成大量文件,建議先查清楚再批量恢復(fù)。
恢復(fù)過(guò)程中的注意事項(xiàng)
-
恢復(fù)前盡量卸載文件系統(tǒng)
如果你要恢復(fù)的分區(qū)正在使用中,最好先卸載它。否則恢復(fù)過(guò)程中有數(shù)據(jù)被覆蓋的風(fēng)險(xiǎn)。可以用 umount /dev/sda1 卸載。 -
恢復(fù)出來(lái)的文件權(quán)限可能有問(wèn)題
有時(shí)候恢復(fù)出的文件屬主和權(quán)限會(huì)被重置為 root,記得恢復(fù)后手動(dòng)修改權(quán)限。 -
文件名可能變成 inode 編號(hào)
如果原文件名已經(jīng)被覆蓋,恢復(fù)出來(lái)的文件可能只有 inode 編號(hào)。這時(shí)候需要靠文件內(nèi)容判斷是什么文件。 -
并不是所有文件都能恢復(fù)
如果文件被刪除很久,或者磁盤(pán)空間被頻繁寫(xiě)入過(guò),那恢復(fù)成功率就會(huì)下降。
基本上就這些。掌握這幾個(gè)步驟,遇到誤刪時(shí)不至于手忙腳亂。雖然 extundelete 不是萬(wàn)能的,但在某些場(chǎng)景下真的能救急。