以下方法在ext3的文件系统上测试通过,ext2和ext4的没有测试过。假设删除的文件在dir下面,位于/dev/sda5上。
主要借助debugfs
1 运行debugfs,进入调度模式
2 执行open /dev/sda5
3 执行ls -d dir 会列出此目录最近的 *** 作,其中可以看到<num>的日志删除记录
4 执行logdump -i <num> 显示此日志内容
5 在输出中寻找删除文件对应的block,记录下来blockid
6退出debugfs,运行dd if=/dev/sda5 of=/tmp/saved bs=1024 count=1 skip=blockid
此时就把删除的文件恢复了,不过这个方法有个问题,如果删除的是大文件,则占用多个block, *** 作起来比较麻烦。
debugfs在调试模式下,命令行比较难用,不过其支持-R选项,可以在SHELL里执行,就是用多个-R把要执行的命令连接起来,若命令中需要指定参数则需要加"",否则SHELL解析会有问题。
比较好用的工具有testdisk,之前用过他来恢复和备份系统的分区表,没有恢复过文件。
作为一个多用户、多任务的 *** 作系统,Linux下的文件一旦被删除,是难以恢复的。尽管删除命令只是在文件节点中作删除标记,并不真正清除文件内容,但是其他用户和一些有写盘动作的进程会很快覆盖这些数据。不过,对于家庭单机使用的Linux,或者误删文件后及时补救,还是可以恢复的。
一、用运SecureCRT远程对 *** 作系统上,查看一下当前系统版本号,及文件系统格式
二、为方便本次实验,我们新创建一文件。
三、执行删除 *** 作
四、运用,系统自还工具debugfs来修复
五、打开,刚刚被删除文件所在的分区
六、用ls 加-d参数显示刚刚删除文件所在的目录
七、显示有<>尖括号的就是我们要找的文件Inode 号 执行logdump –I <393289>
八、执行完命令后,显示了一屏信息,我们需要的是下面这一行,并且要记住,后面的值
九、退出debugfs
十、执行如下命令
十一、以上结果表示恢复成功我们看下/tmp目录下到底有没有
十二、tmp目录下有我们显示一下
1、linux找回删除文件。2、linux如何找回误删的文件。
3、怎么恢复linux删除的文件。
4、linux删除文件怎么找回。
1"linux找回删除文件,为您提供linux找回删除文件图文信息,执行命令0cd/home进入目录。
2输入debugfs运用恢复工具。
3执行命令ls-d/home显示被删除文件所在目录。
4输入logdump-i查找区号。
5记住block数字,输入quit退出。
6输入数据恢复命令。
7执行ls命令即可恢复。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)