Linux
Unix/Linux 取消刪除/恢復已刪除的文件
是否有命令來恢復/取消刪除已刪除的文件
rm
?$ rm -rf /path/to/myfile
我怎樣才能恢復
myfile
?如果有這樣的工具,我該如何使用它?
評論中某人提供的連結可能是您最好的機會。
這篇文章雖然看起來有點嚇人,但實際上是相當直截了當的。一般來說,步驟如下:
- 使用 debugfs 查看文件系統日誌
$ debugfs -w /dev/mapper/wks01-root
- 在 debugfs 提示符下
debugfs: lsdel
- 樣本輸出
Inode Owner Mode Size Blocks Time deleted 23601299 0 120777 3 1/ 1 Tue Mar 13 16:17:30 2012 7536655 0 120777 3 1/ 1 Tue May 1 06:21:22 2012 2 deleted inodes found.
- 在 debugfs 中執行命令
debugfs: logdump -i <7536655>
- 確定文件inode
... ... .... output truncated Fast_link_dest: bin Blocks: (0+1): 7235938 FS block 7536642 logged at sequence 38402086, journal block 26711 (inode block for inode 7536655): Inode: 7536655 Type: symlink Mode: 0777 Flags: 0x0 Generation: 3532221116 User: 0 Group: 0 Size: 3 File ACL: 0 Directory ACL: 0 Links: 0 Blockcount: 0 Fragment: Address: 0 Number: 0 Size: 0 ctime: 0x4f9fc732 -- Tue May 1 06:21:22 2012 atime: 0x4f9fc730 -- Tue May 1 06:21:20 2012 mtime: 0x4f9fc72f -- Tue May 1 06:21:19 2012 dtime: 0x4f9fc732 -- Tue May 1 06:21:22 2012 Fast_link_dest: bin Blocks: (0+1): 7235938 No magic number at block 28053: end of journal.
- 使用上面的 inode 資訊執行以下命令
# dd if=/dev/mapper/wks01-root of=recovered.file.001 bs=4096 count=1 skip=7235938 # file recovered.file.001 file: ASCII text, with very long lines
文件已恢復到
recovered.file.001
.其他選項
如果以上內容不適合您,我過去曾使用過諸如
photorec
恢復文件之類的工具,但它僅適用於圖像文件。我已經在我的部落格中廣泛地寫了關於這種方法的這篇文章,標題為: