一,下载ext3grep-0.10.1.tar.gz

点此下载

二,安装

#tar zxvf ext3grep-0.10.1.tar.gz
#cd ext3grep-0.10.1
#./configure
#make
#make install

如果缺乏e2fsprogs-devel和e2fsprogs-devel,yum安装

#yum install e2fsprogs-libs
#yum install e2fsprogs-devel

三.模拟删除
1.制造一个分区

#mkdir /home/test
#cd /home/test
#dd if=/dev/zero of=file count=102400
#mkfs.ext3 file

2.挂载

#mount -o loop /home/test/file /mnt/
#df -lh

/dev/sda1             485M   32M  429M   7% /boot
/home/test/file        49M  4.9M   42M  11% /mnt

查看发现已挂载

3.写入数据到mnt

#mkdir /mnt/del
#echo 1 > /mnt/del/1
#echo 2 > /mnt/del/2
#echo 3 > /mnt/del/3

4.删除数据

#rm -rf /mnt/del

四.开始恢复
1.卸载分区

#cd / *退入根目录,否则在mnt目录下会提示,busy,无法卸载
#umount /home/test/file

2.确认卸载

#df -h

3.查看根的inode

#ls -id /

输出
2 /
发现是2

4.扫描

#ext3grep /home/test/file --ls --inode 2

输出
Indx Next |  Inode   | Deletion time                        Mode        File name
==========+==========+----------------data-from-inode------+-----------+=========
   0    1 d       2                                         drwxr-xr-x  .
   1    2 d       2                                         drwxr-xr-x  ..
   2  end d      11                                         drwx------  lost+found
   3  end d    7329  D 1461612320 Mon Apr 25 15:25:20 2016  drwxr-xr-x  del

5.del目录的inode为7329,D标示为可恢复

6.扫描del下目录

#ext3grep /home/test/file --ls --inode 7329

输出
==========+==========+----------------data-from-inode------+-----------+=========
   0    1 d    7329  D 1461612320 Mon Apr 25 15:25:20 2016  drwxr-xr-x  .
   1    2 d       2                                         drwxr-xr-x  ..
   2    3 r    7330  D 1461612316 Mon Apr 25 15:25:16 2016  rrw-r--r--  1
   3    4 r    7331  D 1461612316 Mon Apr 25 15:25:16 2016  rrw-r--r--  2
   4  end r    7332  D 1461612316 Mon Apr 25 15:25:16 2016  rrw-r--r--  3

7.恢复单个文件1

#ext3grep /home/test/file --restore-file del/1

恢复后的文件在当前的RESTORED_FILES目录下

8.恢复全部文件

ext3grep /home/test/file --restore-all

ext3grep 模拟恢复删除文件的更多相关文章

  1. Qt之QDomDocument操作xml文件-模拟ini文件存储

    一.背景 不得不说Qt是一个很强大的类库,不管是做项目还是做产品,Qt自身封装的东西就已经非常全面了,我们今天的这篇文章就是模拟了Qt读写ini文件的一个操作,当然是由于一些外力原因,我们决定自己来完 ...

  2. WPF模拟Office2010文件菜单的TabControl模板

    原文:WPF模拟Office2010文件菜单的TabControl模板 这是Office2010中的文件菜单点开后的效果.本文我将以强大的WPF(www.itstrike.cn)来实现类似的效果.希望 ...

  3. AJAX-----11iframe模拟ajax文件上传效果原理3

    如果直接给用户提示上传成功,那么如果用户上传的文件比较大点,那么等上半天都没反映,那么用户很有可能会刷新或者关了从来等... 那么会给我们服务器带来一定的影响,所以我们可以对这方面的用户体验度进行提升 ...

  4. Javascript 代理模式模拟一个文件同步功能

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. AJAX-----09iframe模拟ajax文件上传效果原理1

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. Linux恢复删除文件

    一.介绍extundelete 1.extundelete的文件恢复工具,该工具最给力的一点就是支持ext3/ext4双格式分区恢复. 2. 在实际线上恢复过程中,切勿将extundelete安装到你 ...

  7. C# 模拟多文件上传

    原地址:http://www.cnblogs.com/greenerycn/archive/2010/05/15/csharp_http_post.html 1.客户端代码 用winform写的 pr ...

  8. Centos 模拟生成文件的脚本

    #!/bin/sh count= #控制每秒写入不同大小的文件 while true do ;i<=$count;i++)) do /bin/-`.jpg done ;i<=$count; ...

  9. iframe 模拟ajax文件上传and formdata ajax 文件上传

    对于文件上传 有好多种方式,一直想总结 文件上传的方法 今天就来写下 iframe  的文件上传的代码 本人语言表达能里有限,不多说了 直接上代码. 首先看 总体页面. 总共就三个文件. 实际上也就是 ...

随机推荐

  1. Python学习笔记10

      1.函数式编程   理论就来自lambda演算,虽然没有学过lisp,一直被其大名震撼. 特性: 函数是以一等公民 可以作为参数 可以作为返回值 具有闭包特性   1.1参数传递方式 一般参数传递 ...

  2. UVa12092 Paint the Roads(最小费用最大流)

    题目大概说一个n个点m条带权有向边的图,要给边染色,染色的边形成若干个回路且每个点都恰好属于其中k个回路.问最少要染多少边权和的路. 一个回路里面各个点的入度=出度=1,那么可以猜想知道各个点如果都恰 ...

  3. 为WPF和Silverlight的Grid添加边框线(zz)

      Grid是WPF和Silverlight中的一个重要的布局元素,其他的布局元素还有StackPanel, Canvas, Border等等.从字面上说,Grid是一个表格的意思,它的使用也确实很方 ...

  4. The 2015 China Collegiate Programming Contest L. Huatuo's Medicine hdu 5551

    Huatuo's Medicine Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others ...

  5. hadoop yarn running beyond physical memory used

    老是报物理内存越界,kill container,然后把yarn.scheduler.minimum-allocation-mb设成2048就好了 跟这个yarn.nodemanager.pmem-c ...

  6. POJ 2456 (二分)

    题目链接: http://poj.org/problem?id=2456 题目大意:n个房子,m头牛,房子有一个横坐标,问将m头牛塞进房子,每两头牛之间的最大间隔是多少. 解题思路: 不难看出应该二分 ...

  7. 使用 Git 和 Visual Studio Online 进行版本控制

    参考资料: 在开发计算机上设置 Git(配置.创建.克隆.添加) 关于 Git 和 Visual Studio Online 是什么请自行百度 转载请注明来源: http://www.cnblogs. ...

  8. jquery validate学习心得

    据说,javascript最初的由来就是为了解决表单的验证问题,当然现在的js已经能够用来做各种各样炫酷的效果,不过表单验证一直以来都是js很重要的一个用途(在博客园第一篇博客,不知道说些什么开头~~ ...

  9. 【BZOJ1088】[SCOI2005]扫雷Mine 递推

    调LCT奔溃,刷水调节一下. #include <iostream> #include <cstdio> #include <cstring> using name ...

  10. 编码Q&A

    Q:什么是编码? A:由于计算机中所有数据都是以二进制存在,那么为了存储数字,字母,各种符号和文字,计算机必须用一套映射系统来对应.比如我在某台计算机上规定,用00010001这个二进制数表示字母a, ...