分类: LINUX

如果是ext2文件系统的,直接用debugfs是可以恢复出来的,但对于ext3,debugfs就无能为力了,好在我们有了ext3grep这个开源工具(http://code.google.com/p/ext3grep/)!
 
 

对于ext2

1、在/data(/dev/sdb)上创建并删除测试文件(作测试目的以plantodelete为例)
  #vi plantodelete
  输入This text is plantodelete! 保存退出
  #rm -f plantodelete
   
2、以只读方式remount /data,防止再次写入文件
  #mount -r -n -o remount /data
  如果出现busy用
  #fuser -k /data
 
3、恢复误删除的文件
  #debugfs /dev/sdb
  debugfs 1.35 (28-Feb-2004)
  debugfs: lsdel                   <-- 列出删除的文件
  Inode  Owner  Mode    Size    Blocks   Time deleted
    12      0 100600   4096    1/   1 Sat Dec 19 15:54:04 2009
          0 100644     14    1/   1 Sat Dec 19 15:54:08 2009
2 deleted inodes found.
debugfs: stat <13>                 <-- 察看状态
Inode: 13   Type: regular    Mode:  0644   Flags: 0x0   Generation: 2897353947
User:     0   Group:     0   Size: 14
File ACL: 1033    Directory ACL: 0
Links: 0   Blockcount: 16
Fragment:  Address: 0    Number: 0    Size: 0
ctime: 0x4b2c86a0 -- Sat Dec 19 15:54:08 2009
atime: 0x4b2c869c -- Sat Dec 19 15:54:04 2009
mtime: 0x4b2c869c -- Sat Dec 19 15:54:04 2009
dtime: 0x4b2c86a0 -- Sat Dec 19 15:54:08 2009
BLOCKS:
(0):8200
TOTAL: 1
debugfs: dump <13> plantodelete   <-- 恢复文件
debugfs: q                        <-- 退出debugfs
 
在运行debugfs命令的当前目录下就可以看见恢复的文件了
 
 

对于ext3

1、下载并安装ext3grep
   #tar zxf ext3grep-0.10.1.tar.gz
   #cd ext3grep-0.10.1
   #./configure
   #make
   #make install
  依赖包

-r--r--r-- 1 root root 863808 Nov 5 19:03 e2fsprogs-1.39-33.el5.x86_64.rpm
-r--r--r-- 1 root root 587041 Nov 5 19:03 e2fsprogs-devel-1.39-33.el5.i386.rpm
-r--r--r-- 1 root root 652235 Nov 5 19:03 e2fsprogs-devel-1.39-33.el5.x86_64.rpm
-r--r--r-- 1 root root 122537 Nov 5 19:03 e2fsprogs-libs-1.39-33.el5.i386.rpm
-r--r--r-- 1 root root 122590 Nov 5 19:03 e2fsprogs-libs-1.39-33.el5.x86_64.rpm
drwxr-xr-x 3 1000 1000 4096 Nov 5 19:04 ext3grep-0.10.2
-rw-r--r-- 1 root root 236364 Nov 5 18:55 ext3grep-0.10.2.tar.gz

安装时用rpm -ivh xxxx.rpm来安装即可

 
2、将要恢复数据的分区umount(以 /dev/sdb  /data为例 )
   #umount /data
   如果因为busy无法正常umount,使用
   #fuser -k /data
   杀掉进程再umount
 
3、查找并恢复误删除的文件
   #ext3grep /dev/sdb  --ls --inode 2
   找到想要恢复的文件的inode 如 13
   #ext3grep /dev/sdb  --restore-file --inode 13
   恢复成功后在运行ext3grep的当前目录下就会有RESTORE_FILES目录下就是恢复出来的文件
  

linux下恢复误删除的文件方法(ext2及ext3)的更多相关文章

  1. Linux下恢复误删除的文件

    原文地址:http://www.libenfu.com/vim-分区下误删的文件,恢复文件全记录-转 当时我的工作目录是/source/needrecovered. $ pwd /source/nee ...

  2. 恢复Linux下被误删除的文件(笔记)

    恢复Linux下被误删除的文件 [root@xuegod63 ~]# mount /dev/cdrom /mnt/ 分一个区:sda4  查找:extundelete 分一个区:sda4  [root ...

  3. linux下生成core dump文件方法及设置

    linux下生成core dump文件方法及设置    from:http://www.cppblog.com/kongque/archive/2011/03/07/141262.html core ...

  4. linux下rm误删除数据库文件的恢复方法

    在linux redhat 5.4版本,rm误删除数据库文件的恢复过程分享.测试没有问题,可用. 1.首先测试rm 误删除数据库文件 [oracle@primary dbwdn]$ ll total ...

  5. 如何在Linux上恢复误删除的文件或目录

    Linux不像windows有那么显眼的回收站,不是简单的还原就可以了.linux删除文件还原可以分为两种情况,一种是删除以后在进程存在删除信息,一种是删除以后进程都找不到,只有借助于工具还原,这里分 ...

  6. linux下生成core dump文件方法及设置【转】

    转自:http://blog.csdn.net/mrjy1475726263/article/details/44116289 源自:http://andyniu.iteye.com/blog/196 ...

  7. linux下生成core dump文件方法

    core 文件的简单介绍 当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中,这种行为就叫做Core Dump(中文有的翻译成“核心转储”).我们可以认为 co ...

  8. linux 下恢复后台程序的方法

    一直以为这个东西不怎么重要,所以一直没怎么去记,已经第三次百度了,不想再有第四次. 如果你在终端下运行一个程序,如果这个程序正在运行,我们可以用 ctrl + z 的命令将这个程序挂到后台. desk ...

  9. linux下java调用.so文件的方法1: JNI

    摘自http://blog.163.com/squall_smile/blog/static/6034984020129296931793/ https://my.oschina.net/simabe ...

随机推荐

  1. Unix/Linux获取进程的详细信息

    Linux的进程的信息都记录在/proc/<pid>/下面,其实常用的ps.top命令也是从这里读取信息的.常用的信息有: cmd(命令).cmdline(完整的命令行参数).envrio ...

  2. Ubuntu 14.10 下网络流量实时监控ifstat iftop命令详解

    ifstat 介绍 ifstat工具是个网络接口监测工具,比较简单看网络流量 实例 默认使用 #ifstat eth0 eth1 KB/s in KB/s out KB/s in KB/s out 0 ...

  3. windows-ubuntu环境变量的设置格式的不同

    1  在Ubuntu下输出环境变量,比如JAVA_HOME, 使用cat或者echo $JAVA_HOME即可,但是在windows下不可以, windows不支持cat命令,只能使用echo %JA ...

  4. HackRF实现GPS欺骗教程

    硬件平台:HackRF One软件平台:MAC运行环境搭建系统平台:OS X 10.11 EI CapitanGPS终端:One Plus手机,飞行模式,仅GPS定位,GPS test App文章特点 ...

  5. Jdk配置串在profile中

    JAVA_HOME=/home/will/appSource/jdk1.7.0_25PATH=$JAVA_HOME/bin:$PATHCLASSPATH=.:$JAVA_HOME/lib/dt.jar ...

  6. 浅谈对CSS的认识

    自从进公司也有2个多月了,相信和我一批进来的小伙伴们都收获了很多东西,这个是在学校所学不到的,也让成长了很多.作为新人的我,从认为CSS是个很简单的东西,到现在觉得CSS中水很深,感觉学了很多的CSS ...

  7. LCA(Tarjan)

    program LCA(Tarjan); type arr=record u,v,w,next:longint; end; ; maxm=; ..maxm*] of arr; last,lasq,an ...

  8. [转载]Magento 店铺多语言设置

    本文以扩展中文包为例: 首先进入自己 Magento 后台 系统 -> 管理商店(System -> Manage Stores) 单击 “创建店铺视图”(Create Store Vie ...

  9. Java学习第五天

    一.内存分析 内存分析:指数据的存储,理解程序执行过程,运行期的行为,不是编译期. 分类 栈: 方法栈存储方法的局部变量|形参后进先出 堆: 对象堆存储new的对象散列存储 方法区: 特殊的堆,类方法 ...

  10. Warning: Data truncated for column 'AirPress' at row 1

    /************************************************************************ * Warning: Data truncated ...