當前位置:
首頁 > 知識 > 使用 foremost 恢復已刪除文件

使用 foremost 恢復已刪除文件

(點擊

上方公眾號

,可快速關注)




來源:lujun9972,


lujun9972.github.io/blog/2018/03/08/使用foremost恢復已刪除文件/




foremost是一款根據文件頭,尾和內部結構來嘗試從鏡像文件(或者磁碟)中恢復文件的工具。




foremost默認可以掃描出 jpg, gif, png, bmp, avi, exe, mpg, mp4, wav, riff, wmv, mov, pdf, ole, doc, zip, rar, html, cpp 文件。



但是通過配置它的配置文件(默認為 /etc/foremost.conf),你還可以為它增加新的支持類型。




安裝foremost





sudo pacman -S foremost



使用foremost掃描文件




最常用的方法就是





sudo foremost -t 文件類型 -i 磁碟/鏡像文件



比如,我誤刪除了一個 png 文件,那麼可以運行





sudo formost -t png -i /dev/sda1




這會掃描 /dev/sda1 分區,嘗試查找其中的 png 文件,並將這些 png 文件保存到當前目錄下的 output 目錄中。




你也可以通過 -o 選項來指定存放文件的目錄,但要注意,這個目錄需要是空的,否則會提示錯誤。




sudo formost -t png -i /dev/sda1 -o /tmp/png




為了方便,你也可以使用 T 選項讓foremost自動根據當前時間戳來生成output目錄,這時生成的目錄是類似這樣的 output_Thu_Mar__8_11_43_40_2018





sudo formost -t png -i /dev/sda1 -T



foremost 需要掃描整個磁碟或鏡像文件來查找可能的文件,這常常是一個很漫長的過程,可以使用 -q 來加快掃描速度。




當啟用 -q 選項後, foremost 會僅僅在每個扇區的開始位置與文件頭進行對比,這會極大地減少掃描時間,但可能會丟失一些嵌套在其他文件內的文件(比如嵌套在doc文件中的圖片)。





sudo formost -q -t png -i /dev/sda1 -T




與 -q 常連用的是 -b number, 它可以指定磁碟每個扇區的大小,默認是512個位元組。但對於 ext4 文件系統來說,這個值一般是4096.




sudo formost -q -b 4096 -t png -i /dev/sda1 -T




具體文件系統的扇區大小是多少,可以通過 dumpe2fs 來查看





sudo  dumpe2fs /dev/sda1 |grep "Block size" |cut -f2 -d ":"



我們可以寫一個腳本,將 foremost 和 dumpe2fs 結合起來實現快速掃描。





TYPE=$1


DIR=$2


fs=$(df  ${DIR}|tail -n 1 |cut -f 1 -d " ")


block_size=$(sudo  dumpe2fs ${fs} |grep "Block size" |cut -f2 -d ":")


foremost -t ${TYPE} -q -b ${block_size} -i ${fs} -T




第一個參數指定文件類型




第二個參數指定被刪掉文件所在的目錄




第三行找出文件所屬的磁碟




第四行找出磁碟塊大小




第五行調用foremost掃描被刪除的文件。




看完本文有收穫?請轉發分享給更多人


關注「ImportNew」,提升Java技能


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 ImportNew 的精彩文章:

通向架構師的道路(第十八天)萬能框架 Spring ( 一 )(上)
不同的垃圾回收器的比較

TAG:ImportNew |