原理主要是删除的文件并没有实际上从硬盘上摸去,只是inode索引删除了相关的信息,因此只要找到刚删除文件的block上,就可以恢复已经删除的文件。

以下方法在ext3的文件系统上测试通过,ext2的没有测试过。假设删除的文件在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,之前用过他来恢复和备份系统的分区表,没有恢复过文件。以后出问题也可以试试。

http://www.cgsecurity.org/wiki/TestDisk_Download

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

  1. 恢复rm删除的文件(ext3

    恢复rm删除的文件(ext3 wget http://ext3grep.googlecode.com/files/ext3grep-0.10.2.tar.gz tar zxf ext3grep-0.1 ...

  2. linux复rm删除文件,LINUX 恢复rm删除的文件

    在本文中,我们将讨论foremost,这是一个非常有用的Linux开源取证工具,能够使用称为"data carving"的技术恢复已删除的文件.该程序最初由美国空军特殊调查局开发, ...

  3. linux disk 清除数据,如何在Linux中使用TestDisk恢复已删除的文件

    我们都知道寻找文件而不是找到文件的感觉,即使是在垃圾桶里也是如此. 由于TestDisk ,文件和数据丢失带来的创伤应该结束 - 这是一个免费的开源软件,最初设计用于恢复内存分区并使不可引导的磁盘再次 ...

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

    遇到了要在Linux下删除海量文件的情况,需要删除数十万个文件.这个是之前的程序写的日志,增长很快,而且没什么用.这个时候,我们常用的删除命令rm -fr * 就不好用了,因为要等待的时间太长.所以必 ...

  5. linux rsync删文件速度,Linux下使用rsync最快速删除大量文件的方法

    要在Linux下删除海量文件的情况,需要删除三层哈希目录下的几十万个文件.这个时候,删除命令rm -rf * 就不好用了,因为要等待的时间太长.所以必须要采取一些非常手段.我们可以使用rsync来实现 ...

  6. LINUX 下通过lsof恢复被误删除的文件

    当Linux计算机受到入侵时,常见的情况是日志文件被删除,以掩盖攻击者的踪迹.管理错误也可能导致意外删除重要的文件,比如在清理旧日志时,意外地删除了数据库的活动事务日志.有时可以通过lsof来恢复这些 ...

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

    点评:昨天遇到了要在Linux下删除海量文件的情况,需要删除数十万个文件.这个是之前的程序写的日志,增长很快,而且没什么用 这个时候,我们常用的删除命令rm -fr * 就不好用了,因为要等待的时间太 ...

  8. Linux 系统中成功恢复已删除的文件

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 后台回复"k8s",可领取k8s资料 当用户意外地删除 ...

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

    要在Linux下删除海量文件的情况,需要删除三层哈希目录下的几十万个文件.这个时候,删除命令rm -rf * 就不好用了,因为要等待的时间太长.所以必须要采取一些非常手段.我们可以使用rsync来实现 ...

最新文章

  1. lol个服务器在线人数,LOL除国服外,全球在线人数达1380万,韩服最多380万
  2. 解决windows显示开启HDR后chrome内截图泛白问题
  3. 万网控制面板 php_UPUPW 控制面板启动关闭区介绍
  4. Angular2项目中浏览器拦截弹出窗口的解决方法
  5. 用eclipse往mysql插入中文出现乱码解决方法
  6. pyqt5 qscrollarea到达_pyqt5 QScrollArea设置在自定义侧(任何位置)
  7. 软件外部接口和内部接口_java中的内部类内部接口详解
  8. 日本新年传统习俗介绍(二)
  9. matlab中svm testacc参数,使用Matlab进行交叉验证的多类SVM的完整示例
  10. OpenCV Viz 3D虚拟空间模块
  11. PHP MD5 SHA1 比较 漏洞绕过
  12. 010editor 11.01 破解
  13. abs链目前在哪个平台_ABS链怎么样?
  14. 大话谈VUE之export const
  15. 贪心法找钱python_python找钱?
  16. dbt(data build tool) is an open source data transformation, and using Jinji templating
  17. 数据库 MySQL 中 DQL 数据库查询语言(特别重要)
  18. 《University Calculus》-chape12-偏导数-基本概念
  19. nodejs(10):AntV,Viser 企业级可视化解决方案,蚂蚁金服开发的
  20. 使用dfs求解修道士和野人问题

热门文章

  1. 外企人常使用的工作邮箱,建议收藏!
  2. SAS V8版本 运行后总是提示ERROR: Permanent copy of file WORK._tf0008.ITEMSTOR was deleted. 请问该怎么解决
  3. 3步! 老司机教你如何在以太坊上构建基于Token去中心化投票系统!
  4. ECharts的讲解
  5. WPF教程(二)--Application WPF程序启动方式
  6. 计算机毕业设计JAVA高校体育场馆预约管理系统设计与实现mybatis+源码+调试部署+系统+数据库+lw
  7. 图像识别与处理——图像的表示与通道数问题
  8. BPM- Eteams体验报告
  9. 如何安装KEIL MDK5开发软件
  10. 【软著】申请软件著作权流程资料及方法