在linux下使用debugfs恢复rm删除的文件

在linux下使用debugfs恢复rm删除的文件
?? 以下方法在ext3的文件系统上测试通过, 以下是通过root来实现的
?主要借助debugfs

fdisk /dev/vda
mkdir /mnt/test
mount /dev/vda3 /mnt/test
1 运行debugfs,进入调度模式
[[email protected] test]# debugfs -w /dev/vda3
/////////////////////////[[email protected] test]#sudo debugfs -w /dev/vda3

??? 2 执行open /dev/vda3
3 执行ls -d会列出此目录最近的操作,其中可以看到<num>的日志删除记录

4 执行logdump -i <num> 显示此日志内容
debugfs: logdump -i <13>

??? 5 在输出中寻找删除文件对应的block,记录下来blockid

??? 6退出debugfs,运行[[email protected] test]#dd if=/dev/vda3 of=/tmp/saved? bs=1027 count=138476 skip=47
??? 此时就把删除的文件恢复了,不过这个方法有个问题,如果删除的是大文件,则占用多个block,操作起来比较麻烦。
?? debugfs在调试模式下,命令行比较难用,不过其支持-R选项,可以在SHELL里执行,就是用多个-R把要执行的命令连接起来,若命令中需要指定参数则需要加"",否则SHELL解析会有问题。

原文地址:http://blog.51cto.com/13740508/2122407

时间: 2024-10-26 23:30:01

在linux下使用debugfs恢复rm删除的文件的相关文章

(总结)Linux下使用rsync最快速删除海量文件的方法

昨天遇到了要在Linux下删除海量文件的情况,需要删除数十万个文件.这个是之前的程序写的日志,增长很快,而且没什么用.这个时候,我们常用的删除命令rm -fr * 就不好用了,因为要等待的时间太长.所以必须要采取一些非常手段.我们可以使用rsync来实现快速删除大量文件. 1.先安装rsync:yum install rsync2.建立一个空的文件夹:mkdir /tmp/test3.用rsync删除目标目录:rsync --delete-before -a -H -v --progress -

Linux下使用rsync最快速删除海量文件的方法

常用的删除命令rm -fr * 就不好用了,因为要等待的时间太长.所以必须要采取一些非常手段.我们可以使用rsync来实现快速删除大量文件. 1.先安装rsync: yum install rsync 2.建立一个空的文件夹: mkdir /tmp/test 3.用rsync删除目标目录: rsync --delete-before -a -H -v --progress --stats /tmp/test log 这样我们要删除的log目录就会被清空了,删除的速度会非常快 来自为知笔记(Wiz

linux下的c语言编程删除文件夹

刚刚在学习开始做新项目的时候,学长布置了一项任务,就是在给定一个目录下,要将这个目录下一个星期之前的目录包括里面的文件全部删除,只保留这一个星期内的.百度了好久的资料,终于完成,记录一下防止忘记.(注:文件夹名称默认为日期格式,如20140716) #include<dirent.h> #include<sys/types.h> #include<string.h> #include<stdlib.h> #include<unistd.h> #i

Linux rm删除大批量文件

在使用rm删除大批量文件时,有可能会遭遇"参数列太长"(Argument list too long)的问题.如下所示 [[email protected] bdump]$ rm -v epps_q001_* -bash: /bin/rm: Argument list too long 查看总共有多少个这类文件,如下所示,总共有8348个文件 [[email protected] bdump]$ ls -lrt epps_q001_* | wc -l -bash: /bin/ls: A

Ubuntu中恢复rm命令误删文件(转)

计算机系统:Ubuntu 16.04 1 背景 在做项目的时候,本来想使用rm命令删除以14开头的文件,结果写成如下形式: [cpp] view plain copy rm 14 * 注意,本来14和*之间不应该有空格的,但是误写了一个空格,结果导致所有文件都被删除了!为了找回被误删的文件,根据网上的一些资料进行探索. 2 ext3grep [cpp] view plain copy sudo apt-get install ext3grep 参考资料[4]中对这个工具的使用有比较详细的说明过程

myeclipse如何恢复已删除的文件和代码

这是一篇分享技巧的文章:myeclipse恢复误删文件和代码 [ 恢复误删文件 ] 今天在写代码的时候,不小心把一个包给删除了,然后这个包下所有的文件都没了,相信很多人都有类似的经历, 幸好myeclipse给我们提供了一个很好用的功能: 选中项目 -> Restore from Local History.. -> 界面如下图 勾选要恢复的文件,点击Restore就可以了,就算你把myeclipse关闭了也没关系,非常的方便. [ 恢复误删代码 ] 对于误删的代码,如果没有关闭myeclip

ubuntukylin基础 终端 rm 删除一个文件

镇场文:       学儒家经世致用,行佛家普度众生,修道家全生保真,悟易理象数通变.以科技光耀善法,成就一良心博客.______________________________________________________________________________________________________ 我的系统:UbuntuKylin 16.04 LTS 64bit code: 1 查看当前文件夹 2 删除指定的文件 3 查看删除指定文件后的文件夹 tip: 用rm删除的文件

linux下日常较频繁需要操作的文件

1.linux下日常较频繁需要操作的文件: 网卡配置文件/etc/sysconfig/network-scripts/ifcfg-ethx注:不同品牌的服务器或者不同的系统版本之间,可能网卡名有所不同,配置时需要注意. DNS配置文件/etc/resolv.conf 远程配置文件/etc/ssh/sshd_config 防火墙配置文件/etc/sysconfig/iptables 日志文件/var/log/xx ;如secure记录登陆等安全日志:boot.log记录引导日志:messages记

MyEclipse恢复被删除的文件

如果,在开发中,(Eclipse)删除了一些文件后又发现需要这些文件该怎么办? 1.  只要在项目上----鼠标右键点击项目名,选择Restore from Local history.   选择需要恢复的文件,即可恢复所需要的文件. 2.  同样,在Java文件中也可以恢复删除的部分.     在类中做出修改后,选择Local History可发现修改的地方.  可以发现在类中所做出的修改(类似SVN). MyEclipse恢复被删除的文件,布布扣,bubuko.com