怎么恢复linux删除的文件
作为一个多用户、多任务的操作系统,Linux下的文件一旦被删除,是难以恢复的。尽管删除命令只是在文件节点中作删除标记,并不真正清除文件内容,但是其他用户和一些有写盘动作的进程会很快覆盖这些数据。不过,对于家庭单机使用的Linux,或者误删文件后及时补救,还是可以恢复的。
一、用运SecureCRT远程对操作系统上,查看一下当前系统版本号,及文件系统格式
二、为方便本次实验,我们新创建一文件。
三、执行删除操作
四、运用,系统自还工具debugfs来修复
五、打开,刚刚被删除文件所在的分区
六、用ls 加-d参数显示刚刚删除文件所在的目录
七、显示有<>尖括号的就是我们要找的文件Inode 号 执行logdump –
I <393289>
八、执行完命令后,显示了一屏信息,我们需要的是下面这一行,并且要记住,后面的值
九、退出debugfs
十、执行如下命令
十
一、以上结果表示恢复成功我们看下/tmp目录下到底有没有
十二、tmp目录下有我们显示一下
linux文件夹误删怎么恢复
linux下可以通过debugfs来恢复rm误删除的文件,原理主要是删除的文件并没有实际上从硬盘上摸去,只是inode索引删除了相关的信息,因此只要找到刚删除文件的block上,就可以恢复已经删除的文件。
以下方法在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,之前用过他来恢复和备份系统的分区表,没有恢复过文件。