有時,尤其是在命令行上,您會無意中刪除文件或目錄。 Ext3grep 是一種恢復已刪除文件的解決方案。 Ext3grep 從文件系統日誌中獲取信息以恢復已刪除的文件或目錄。 僅當您使用 ext3/ext4 擴展名格式化驅動器並且文件內容未被新數據覆蓋時,Ext3grep 才能恢復文件/目錄。 那麼,我是否在 ext3/ext4 中格式化了驅動器? 是的! 我有,因為 ext3 多年來一直是標準 Linux 文件系統,最好的部分是,默認情況下,ubuntu 使用 ext3 日誌格式化驅動器。
Ext3grep 允許您戳並生成 ext 文件系統元數據結構,如超級塊、inode 位圖、塊詳細信息等,這有助於恢復文件或目錄。
另請參閱 : 以實例詳解Linux inode
在本指南中,我將向您展示如何使用 ext3grep(ext3 文件恢復工具)恢復無意刪除的文件。 此設置基於 Ubuntu 16.04 (Xenial Xerus),但應該適用於任何 Ubuntu 版本。
更新緩存索引並進行系統升級
apt-get update 從存儲庫下載包列表並“更新”它們以獲取有關包及其依賴項的最新版本的信息。 apt-get upgrade 將獲取機器上現有軟件包的新版本。
$ sudo apt-get update
$ sudo apt-get upgrade
創建 400MB 大小的 ext3 擴展位置
$ sudo dd if=/dev/zero of=/tempfs bs=1M count=400
根據需要,可以使用 K、G、T、P、E、Z 和 Y 代替“M”。
$ ls /
$ sudo mkfs.ext3 /tempfs
mke2fs 1.41.3 (17-May-2015)
Discarding device block: done
Creating filesystem, with 409600 1k blocks and 102400 inodes
Filesystem UUID: de4f963a-12c4-4bcf-6586-1bf3366ff94d
Superblock backups stored on blocks:
8193, 24777,45766, 73727, 204771, 40109
Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
創建掛載點
$ sudo mkdir /mnt/data
$ sudo mount –t ext3 /tempfs /mnt/data/
$ df –hT
創建測試數據
掛載文件系統後,我複制並立即刪除了一個文件
$ sudo cp –r /etc/services /mnt/data/
$ ls –la /mnt/data/
$ cd /mnt/data/
$ sudo rm –f services
$ cd /
然後讓我們從盡快卸載分區開始,這樣您的文件就不會被覆蓋。 永遠不要嘗試使用 ext3grep 從已掛載的文件系統中恢復。
卸載 /mnt/data
$ sudo umount /mnt/data
OK完成。 現在放鬆。 卸載可防止覆蓋和創建要在該位置恢復的文件的 inode。
安裝 ext3grep
在 ubuntu 16.04 上安裝 ext3grep 包就像在終端上運行以下命令一樣簡單:
$ sudo apt-get install ext3grep
使用 ext3grep 選項查找 /tempfs
刪除文件後,我使用 ext3grep 實用程序“–dump-name”選項來顯示文件名列表
$ sudo ext3grep –-dump-name /tempfs
在 /RESTORED_FILES 中恢復/定位數據
在命令輸出中,可以看到列出了我之前刪除的服務文件。 要恢復已刪除的文件,現在您可以選擇恢復一個文件或恢復所有文件,您可以使用“–restore-file”選項運行 ext3grep 以恢復單個文件,或使用“–restore-all”選項來恢復所有已刪除的文件:
$ sudo ext3grep –-restore-all /tempfs
$ cs RESTORED_FILES/
$ ls –la
感謝您花時間閱讀 ubuntu 16.04 和其他 Ubuntu 衍生產品上的“如何使用 ext3grep 恢復已刪除的文件”。