foremost 救回已刪除的檔案 for Debian and Ubuntu Linux
三月 21st, 2009 瀏覽: 3,568人次 by smallken
如果你在unix-like系統上面說要救回已刪除的檔案,大部分的人都會跟你講不可能,不過這篇國外的文章我蠻好奇的,真的有這麼神的事,實際測試的確是有這個機會的。
安裝 foremost套件,適用在 Debian 或 Ubuntu 上
# apt-get install foremost
安裝好之後看一下操作手冊
# man foremost
基本上不是每個檔案都支援,支援以下格式檔案:
jpg、gif、png、bmp、avi、exe、mpg、wav、riff、wmv、mov、ole、doc、zip、rar、cpp
開始實測囉
# pwd
/root
我在 /root 底下有一個檔案,叫estatement.pdf
# ls -l
total 44
-rw-r--r-- 1 root root 43204 Mar 20 20:15 estatement.pdf
我把它刪除
# rm estatement.pdf
的確刪除了
# ls -l
total 0
若已經不小心刪除了檔案之後,不要再對磁碟做任何動作,這樣救檔案的動作成功機率才會大,所以這軟體有跟你說不保證一定救得回來(Windows系統應該也是這樣子)
要想救回檔案,首先要清楚知道檔案是遺失在哪一個分割磁區?
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 7.6G 906M 6.3G 13% /
varrun 125M 80K 125M 1% /var/run
varlock 125M 0 125M 0% /var/lock
udev 125M 44K 125M 1% /dev
devshm 125M 0 125M 0% /dev/shm
因為這台電腦只有一個分割磁區,所以就是 /dev/sda1了
指令如下,-t 後面接檔案格式,如:pdf,-i 後面接遺失在哪一個磁區中
# foremost -t pdf -i /dev/sda1
Processing: /dev/sda1
|*********
經過幾分鐘的磁碟掃描之後,它會在你下指令的當下目錄產生一個 output 目錄,所以要小心原本目錄下就已經有自己的目錄剛好也是取名為output時,需注意一下,不然會被蓋掉。
# ls -l
total 4
drwxr-xr-- 3 root root 4096 Mar 21 17:33 output
# cd output/
~/output# ls
audit.txt pdf
/output目錄底下的 audit.txt是全部找到救回的.pdf檔案的清單
~/output# cat audit.txt
File: /dev/sda1
Start: Sat Mar 21 17:33:30 2009
Length: 7 GB (8167670784 bytes)
Num Name (bs=512) Size File Offset Comment
0: 02284816.pdf 165 KB 1169825792
1: 15270001.pdf 16 MB 7818240712
2: 15417360.pdf 42 KB 7893688320
Finish: Sat Mar 21 18:49:00 2009
3 FILES EXTRACTED
pdf:= 3
------------------------------------------------------------------
Foremost finished at Sat Mar 21 18:49:00 2009
/output 目錄底下則再有一個目錄存放著找回的 pdf 檔案
~/output# cd pdf/
~/output/pdf# ls -l
total 16748
-rw-r--r-- 1 root root 169301 Mar 21 17:53 02284816.pdf
-rw-r--r-- 1 root root 16900749 Mar 21 18:46 15270001.pdf
-rw-r--r-- 1 root root 43204 Mar 21 18:47 15417360.pdf
雖然我此次只刪除一個檔案,但是它會把以前到現在可以救回的pdf全部找出來,檔名就變成程式亂取的檔名。
實測這三個檔案,其中我剛刪除的estatement.pdf檔案的確救回來了,而且可正常開啟,但是其中有一個檔案無法正常開啟了,可能是因為刪除時間已經過後很久了,磁碟已經遭覆寫資料進去了,所以真的無法保證全部檔案均能救回,但是第一時間馬上救,大致上沒什麼問題。
SmallKen's Blog is power by WordPress 2.8.1