一,下载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. 设置随机启动--《用delphi开发共享软件》-15.1任务管理器

    在设置窗体中 chkAutoStart: TCheckBox; 在设置窗体中 chkAutoStart: TCheckBox; procedure TFrmSetup.FormCreate(Sende ...

  2. 如何用distinct消除重复记录的同时又能选取多个字段值?

    http://www.cnblogs.com/warioland/archive/2012/05/30/2526128.html

  3. http://www.cnblogs.com/itsource/p/4266905.html

    http://www.cnblogs.com/itsource/p/4266905.html

  4. 锐捷 Linux登录命令

    cd /home/ficow/桌面/rjsupplicant&&sudo chmod +x ./rjsupplicant.sh&&sudo chmod +x ./rjs ...

  5. jetty 长时间运行之后出现 PWC6117 file not found

    严重: PWC6117: File "%2Ftmp%2Fjetty-0.0.0.0-9090-admin.war-_admin-any-%2Fwebapp%2Ferror%2F404.jsp ...

  6. CF# Educational Codeforces Round 3 F. Frogs and mosquitoes

    F. Frogs and mosquitoes time limit per test 2 seconds memory limit per test 512 megabytes input stan ...

  7. CentOS下强行umount卸载设备

    fuser -cu /usr/local/tomcat7/webapps/dsideal_yy/html/down/ fuser -ck /usr/local/tomcat7/webapps/dsid ...

  8. [知识点]C++中的运算符

    1.前言 之前最开始学习语法和基础知识的时候,基本上最简单的运算符有所接触,当时对于位运算这种东西完全没有概念.今天对C++中出现的部分运算符尤其是位运算符进行一些总结. 2.+ - * / % 这些 ...

  9. TC SRM 591

    表示第一次在div1,我要记录一下... 木有挂0,第一题不怎么难的,读题读了20分钟,又想了20分钟,时间有点长,然后各种小心,然后得了140分.... 后两个题,根本木有看,貌似做出来的也不多.. ...

  10. ObjectContext,DataContext和DBContext 分别获取linq 的sql方法

    ObjectContext 先定义一个扩展方法: public static string ToTraceString<T>(this IQueryable<T> t) { s ...