This Domain(Admin5.com) is for Sale:

如何恢复误删除的Linux文件

时间:2007-10-27  来源:不详  作者:林仙

36137010064441/1TueApr2410:11:152001
196829010064414950038/38MonMay2713:52:042001
debugfs:

列出的文件有很多(这里找到2692个),第一字段是文件节点号,第二字段是文件所有者,第三字段是读写权限,接下来是文件大小,占用块数,删除时间。然后就可以根据文件大小和删除日期判断那些是我们需要的。比如我们要恢复节点是196829的文件:

可以先看看文件数据状态:

debugfs:stat<196829>
Inode:196829Type:regularMode:0644Flags:0x0Version:1
User:0Group:0Size:149500
FileACL:0DirectoryACL:0
Links:0Blockcount:38
Fragment:Address:0Number:0Size:0
ctime:0x31a9a574--MonMay2713:52:042001
atime:0x31a21dd1--TueMay2120:47:292001
mtime:0x313bf4d7--TueMar508:01:272001
dtime:0x31a9a574--MonMay2713:52:042001
BLOCKS:
594810594811594814594815594816594817………………………………….
TOTAL:38
然后就可以用dump指令恢复文件:
debugfs:dump<196829>/mnt/hda/01.sav
这样就把文件恢复出来了。退出debugfs:
debugfs:quit
另一种方法是手工编辑inode:
debugfs:mi<196829>

织梦内容管理系统


Mode[0100644]
UserID[0]
GroupID[0]
Size[149500]
Creationtime[0x31a9a574]
Modificationtime[0x31a9a574]
Accesstime[0x31a21dd1]
Deletiontime[0x31a9a574]0
Linkcount[0]1
Blockcount[38]
Fileflags[0x0]
Reserved1[0]
Fileacl[0]
Directoryacl[0]
Fragmentaddress[0]
Fragmentnumber[0]
Fragmentsize[0]
DirectBlock#0[594810]
…………………………….
TripleIndirectBlock[0]

使用mi指令后每次显示一行信息以供编辑,其它行可以直接按回车表示确认,把deletiontime改成0(未删除),Linkcount改成1。改好后退出debugfs:


debugfs:quit

然后用fsck检查/dev/hda5

fsck/dev/hda5


程序会说找到丢失的数据块,放在lost found里面。这个目录里的文件就是我们要的东东。

本文来自织梦

看完这篇,您有何感觉呢?

文章评论

共有位Admini5网友发表了评论 查看完整内容

24小时热门信息