linux误删除文件后的恢复操作

下面介绍具体方法:

先说下我准备删除的文件为/root/silencewolf/silencewolf.sh 里面内容如下:

linux误删除文件后的恢复操作_第1张图片

执行rm -f silencewolf.sh,用ls查看文件夹为空了

wKioL1OYHxDBkNhWAAB0nxKjLX8933.jpg

下面开始恢复文件,具体操作如下:

1、输入debugfs,打开debugfs功能,打开误删除的分区磁盘

open /dev/sda3 具体如图:

wKioL1OYICGABM08AABRreb82WY055.jpg

2、输入ls -d /root/silencewolf 删除文件的文件夹路径如图:

linux误删除文件后的恢复操作_第2张图片

找到删除的文件的索引值<18022483>

3、输入logdump -i <18022483> 命令如下图:

linux误删除文件后的恢复操作_第3张图片

上面输出信息有好几页,做好塞选,找到如下字段:

wKioL1OYI5qR91JFAACXzW1FAHQ756.jpg

Blocks:(0+1):18024668这段记录18024668这个值,quit退出debugfs。

4、下面用dd命令来恢复,输入如下:

dd if=/dev/sda3 of=/tmp/silencewolf.sh.bak bs=4096 count=1 skip=18024668

wKioL1OYJLHi5loSAAEkqw60Uw8067.jpg

5、查看/tmp目录下文件多了个silencewolf.sh.bak,cat、他发现为原来删除的文件silencewolf.sh如下图:

linux误删除文件后的恢复操作_第4张图片

到这里文件恢复已经完成,把他从/tmp下cp到/root/silencewolf/silencewolf.sh彻底完成恢复了。


总结:主要利用debugfs的调试功能找到文件的索引,其实rm删除的文件并不是真的删除了,而是inode被删除了,所以比较小的文件可以用这种方法恢复,对于大文件,这个恢复有点问题,利用extundelete工具能够很好的解决大文件误删除的问题,以后有机会在做介绍。

本文出自 “SilenceWolf” 博客,请务必保留此出处http://silencewolf.blog.51cto.com/5009737/1425073

你可能感兴趣的:(linux误删除文件后的恢复操作)