說明:不一定有效,需要不斷嘗試
一、lsof
lsof |grep data.file1 cp /proc/xxx/xxx/xx /dir/data.file1
umount /dev/part 或 mount -o remount,ro /dev/part
二、ext3grep
sudo apt-get install ext3grep
參考資料[4]中對這個工具的使用有比較詳細的說明過程。然而,正如參考資料[5]所言,這個工具只適合於ext3文件系統的,而新版本的Ubuntu系統一般都使用ext4文件系統,因此需要使用其它工具,如extundelete。
三、extundelete
sudo apt-get install extundelete
使用這個工具,我成功的恢復了使用rm命令誤刪的文件。關於這個工具的使用方法,可見參考資料[7]。下面簡單記錄一下回復過程。
sudo extundelete /dev/sda1 --restore-all
說明:/dev/sda1是誤刪文件所在的分區。我的誤刪的文件原來在/home/liyihai里面的子目錄中,而這個目錄掛載於/dev/sda1分區(使用df -h命令查看)。
執行上面命令后,會在當前目錄中生成一個名為RECOVERED_FILES目錄,並且將恢復的文件放到這個目錄中。
根據參考資料[7]的說明,所恢復的文件會被改名,因此需要根據文件的內容,使用grep命令找出您想要的文件。
四、/casper/filesystem.squashfs
這個是Ubuntu光盤特有的文件,將解壓縮的光盤文件夾下面/casper/filesystem.squashfs文件拷貝出來到一個單獨的文件夾
cd到剛拷貝出來filesystem.squashfs所在文件夾,然后打開終端輸入
unsquashfs filesystem.squashfs
回車執行
上一步執行完會生成一個squash-boot文件夾,然后在里面尋找你所誤刪的系統文件即可,在哪個目錄下刪除的就在對應目錄下找
參考
[2]linux rm文件恢復總結
[3]Linux使用筆記: 實用ext3grep恢復目錄及文件指南(ext3文件系統)
[4]ubuntu中用ext3grep恢復ext3文件系統中誤刪的文件
[6]Linux下數據誤刪除不再是恐怖的事情,ext3grep幫你恢復
[9]【Linux】Linux系統 ext4格式 刪除文件恢復:extundelete
https://www.cnblogs.com/jikexianfeng/p/7349275.html(以上內容部分轉自此篇文章)
http://blog.csdn.net/weiguang1017/article/details/52239685(以上內容部分轉自此篇文章)
https://www.jianshu.com/p/f5558050acb1(以上內容轉自此篇文章)