Linux rm 命令誤刪檔案的恢複(grep)

來源:互聯網
上載者:User

本文章來介紹兩種關於Linux rm 命令誤刪檔案的恢複方法,一種是利用extundelete而另一種是用grep了了。


利用extundelete外掛程式


假設被刪除的檔案位於 /media/backup 裡,掛載的裝置是 /dev/sda3。

首先重新掛載當前磁碟。

然後安裝 extundelete 依賴的包,

 代碼如下 複製代碼

sudo aptitude install e2fsprogs e2fslibs-dev

下載 extundelete ,
解壓 extundelete,
運行

三大步

 代碼如下 複製代碼

./configure
make
sudo make install

可以 extundelete --help 看下用法,或者直接全部恢複 extundelete  /dev/sda3 --restore-all注意,恢複後的檔案預設位於安裝這個軟體檔案夾的 RECOVERED_FILES 裡。

執行個體

grep恢複刪除檔案

先臨時建一個文字檔 vpsee.log 做測試,然後刪除這個檔案:

 代碼如下 複製代碼

$ echo "important log file for vpsee.com" > vpsee.log

$ cat vpsee.log
important log file for vpsee.com

$ rm vpsee.log

如果能記住剛才刪除檔案中的某個關鍵字的話可以用 grep 搜尋整個 /dev/sda1,-a 標誌位的意思是把 /dev/sda1 這個分區看成是文本形式的(分區本身是二進位形式的),-B 10 -A 100 的意思是如果找到關鍵字就列印出其前10行和後100行的內容:

 代碼如下 複製代碼

# grep -a -B 10 -A 100 'vpsee.com' /dev/sda1 > tmp.txt

在一堆 @ 之間可以找到我們剛才刪除的內容:

 代碼如下 複製代碼

$ vi tmp.txt
...
@$^@^@^@^@^@^@^@^@^@^@^@^A^@^@^@^@^@^@^@?^@^@^@^A^@^@^@^@^@^@^@^@^@^@^@è^K^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^A^@^@^@^@^@^@^@^Q^@^@^@^C^@^@^@^@^@^@^@^@^@^@^@è^K^@^@×^@
^@^@important log file for vpsee.com
@
@
...

當然,如果誤刪了二進位、doc、png/jpg/gif 之類的檔案,可以用一些第三方 ext2/ext3 檔案恢複工具協助恢複檔案,比如 TestDisk, PhotoRec 等。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.