在開始教程之前我有必要提醒大家,使用視窗管理器(gui)刪除檔案和使用命令列工具(cli)刪除檔案這兩種方法之間是有區別的。
當我們使用視窗管理器來刪除檔案時,我們僅僅只是將檔案從某個目錄移動到了另乙個目錄中(**站)。
在這種情況下,唯一得到更新的就是你檔案系統索引節點(inode)的元資料資訊,例如被刪除檔案的時間戳、檔案所佔儲存區塊和擴充套件屬性等資料。你可以使用tune2fs(調整和檢視ext2/ext3檔案系統的檔案系統引數)來檢視檔案系統的索引節點資訊,在命令列工具中輸入下列指令:
sudo tune2fs -l /dev/sda1 |grep -i inode
$ sudo tune2fs -l /dev/sda1 |grep -i inode filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recoveryextent flex_bg sparse_super large_file huge_file uninit_bg dir_nlinkextra_isize inode count: 30007296 free inodes: 29382378 inodes per group: 8192 inode blocks per group: 512 first inode: 11 inode size: 256 journal inode: 8 first orphan inode: 21628027 journal backup: inode blocks當你使用ssh遠端訪問你的計算機時,你可以在目錄「~/.local/share/trash」中看到所有被刪除的檔案。這樣一來,我們就可以直接使用gui視窗來還原被刪除的檔案,非常的簡單。
但是,當你使用「rm」命令來刪除某個檔案時,這個檔案可就不僅僅是被移動到乙個隱藏目錄那麼簡單了。
這個時候,你需要通過更新索引節點元資料來通知作業系統,這份檔案此前所占用的那部分磁碟空間已經可以繼續使用了,作業系統現在可以直接將其他的檔案寫入這部分儲存空間中。
接下來,作業系統可能會在乙個小時之後就覆蓋這部分磁碟空間,但也有可能會在兩個月之後才會使用這部分儲存區域,具體將取決於作業系統以及檔案系統的設定。
當你在移除(安全刪除)你的檔案時,也就相當於你在讓檔案系統刪除這份檔案,然後再向這份檔案此前所占用的那部分儲存空間寫入隨機資料。對於「安全刪除」的情況來說,我們通常是無法恢復被刪除檔案的。
所以最好的方法就是當你意識到你誤刪了某乙份檔案時,就立刻開始進行檔案恢復工作。你等的時間越久,成功恢復誤刪檔案的可能性也就越低。
目前我們有很多種方法可以恢復linux平台上的誤刪檔案,其中主流的兩個選項就是testdisk/photorec和extundelete。
photorec是testdisk套件的其中乙個元件,我們可以用它來恢復單獨的檔案。當然了,testdisk的功能更加強大,它可以幫助我們恢復檔案系統分割槽或磁碟啟動扇區。
testdisk支援目前主流的檔案系統,而且目前主流的作業系統平台都可以使用這款工具。在這篇文章中我們主要以photorec為例來進行講解。
photorec可以忽略檔案系統的型別,並直接從介質底層恢復資料。因此,在介質的檔案系統受到嚴重破壞或被重新格式化後,它同樣能夠進行資料恢復。photorec是一款開源、跨多平台的免費資料恢復軟體,受gnugeneral public license (gplv v2+) 的保護。
-dos/win9x -windows nt 4/2000/xp/2003/vista -linux -freebsd, netbsd, openbsd -sun solaris -mac os x
-fat -ntfs -exfat -ext2/ext3/ext4 -hfs+一般情況下,photorec的檔案恢復過程如下圖所示:
除了photorec之外,我們也可以選擇使用extundelete來完成資料恢復工作。extundelete針對的是ext3和ext4檔案系統,所以相較於testdisk而言,extundelete的使用範圍就有一定的限制了。
通常情況下,在進行檔案恢復工作的時候,我們要先將檔案系統重新掛載,然後給它分配唯讀許可權。完成之後,再將恢復的檔案寫入另外乙個檔案系統中,這樣可以避免原始資料所在的儲存區域被覆蓋。
使用extundelete來恢復檔案的操作步驟非常的簡單,我們只需要選擇相應的檔案系統,然後執行下面這條命令即可:
extundelete /dev/sda1 --restore-all資料恢復是一項非常複雜的工作,而且由於作業系統、檔案系統以及人為因素的干擾,我們所恢復出來的檔案很有可能會出現資料丟失的情況。
所以當你發現你誤刪了檔案時,請立刻停止使用你的電腦,並且盡快進行資料恢復工作,以免你的誤刪檔案被其他的資料覆蓋掉。
如何恢復Linux中的誤刪檔案
寫在前面的話 在開始教程之前我有必要提醒大家,使用視窗管理器 gui 刪除檔案和使用命令列工具 cli 刪除檔案這兩種方法之間是有區別的。當我們使用視窗管理器來刪除檔案時,我們僅僅只是將檔案從某個目錄移動到了另乙個目錄中 站 在這種情況下,唯一得到更新的就是你檔案系統索引節點 inode 的元資料資...
linux恢復誤刪檔案
如果是ext2 參考實驗了一下,果然可行 拿一塊硬碟測試,比如是sdb2 mkfs.ext2 dev sdb2 mount dev sdb2 mnt sdb2 cd mnt sdb2 vim test i輸入haha wq儲存 rm test cd umount mnt sdb2 mount r n...
linux 恢復誤刪檔案
第一種 1 搞到root許可權切換root 2 安裝e2fsprogs,有的linux自帶,有的不自帶,需要安裝 3 debugfs dev sda3 檔案所在分割槽 4 等到出現debugs 輸入 lsdel 羅列被刪除的檔案 請等待 5 根據刪除時間,找到檔案的inode號 6 dumpmkdi...