linux誤用rm刪除文件后恢復


linux 系統:ubuntu16.04

誤把/usr/local local文件刪除了,要瘋

步驟:

1.對於文件系統為ext3文件系統

sudo apt-get install ext3grep

對於文件系統為ext4文件系統

sudo apt-get install extundelete

注:linux查看文件系統的格式可以使用如下兩種方法

cat /etc/fstab

2.恢復系統使用命令:

sudo extundelete /dev/sda2 --restore-all
# /dev/sda1是誤刪的文件原來在/usr/local里面的子目錄中,而這個目錄掛載在/dev/sda2分區
# 注釋:查看掛載地址
df -T

執行上面命令后,會在當前目錄中生成一個名為RECOVERED_FILES目錄,並且將恢復的文件放到這個目錄中。

 

二:更細致的方法:如果你只是刪除了一個文件

從節點一點點找,首先找到你刪除的

sudo extundelete --inode 2 /dev/sda2     (/dev/sda2掛載點)

結果

往丟失文件的下一級 就是usr的節點

extundelete --inode 7733249 /dev/sda2

結果:

再往丟失文件的下一級 就是usr/local的節點 

sudo extundelete --inode 8128186 /dev/sda2

結果:

找到了刪除的文件后也是通過節點數字串去恢復

 sudo extundelete --restore-inode 8128309  /dev/sda2 
...

在當前目錄下產生了一個RECOVERED_FILES目錄,恢復的文件就在這個目錄中。

總結:其實恢復的結果並不令人滿意,我安裝的軟件文件沒了,一堆file文件,也看不懂,最后貌似感覺是無用功,重新建立local 文件重新安裝軟件,也可能是我方法沒找到刪除的正確文件路徑

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM