linux下恢复误删除的文件方法(ext2及ext3)

时间:2022-09-01 15:18:57

分类: 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命令的当前目录下就可以看见恢复的文件了linux下恢复误删除的文件方法(ext2及ext3)
 
 

对于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)
  

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下生成core dump文件方法及设置【转】

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

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

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

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

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

  8. linux下java调用&period;so文件的方法1: JNI

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

  9. Linux下查看alert日志文件的两种方法

    --linux下查看alert日志文件的两种方法: --方法1: SQL> show parameter background_dump_dest; NAME TYPE VALUE ------ ...

随机推荐

  1. Flex 对象克隆

    package widget.EnvPlot{ public class copyObject extends Object    {        public function copyObjec ...

  2. JS基础回顾,小练习(实现each方法)

    function each(arr, fn) { for(var i=0;i<arr.length;i++){ fn(arr[i],i); } } var arr = ['java', 'c', ...

  3. 现代浏览器内置的可等效替代jQuery的功能

    jQuery的体积在不断的增大.新功能要不断增加,这是必然结果.虽然从版本1.8.3开始的瘦身效果明显,但不可否认的是,对于移动手机端的网 页开发,它仍然是不可接受的.当然,jQuery不是铁板一块, ...

  4. XML转换为Map通用算法实现 Java版本(Stax实现)

    目前项目中需要将XML转换为Map,下面给出了自己的代码实现. 后续将为大家提供Dom版本的实现. 请各路大神给予各种优良实现. 场景: 在项目中需要解析XML文本字符串,需要将XML文本字符串映射为 ...

  5. crf 分词(待)

    http://blog.csdn.net/marising/article/details/5769653

  6. WINDOWS OPTIMIZE

    WIN10 SHUT DOWN AUTOMATICALLY UPDATE 1.service -> windows update 2.gpedit ->计算机配置 - 管理模板 - Win ...

  7. &lbrack;C&num;&rsqb; C&num; 与 Nessus 交互,动态构建扫描任务计划

    C# 与 Nessus 交互,动态构建扫描任务计划 目录 什么是 Nessus? 创建会话类 NessusSession 登录测试 创建操作类 NessusManager 操作测试 什么是 Nessu ...

  8. ionic2&plus;集成第三方sdk时,合并多个清单文件的方法

    具体方案android studio官网上已经给出,但需要架*,所以这篇文章直接把它搬到墙内,方便查看: 合并多个清单文件 合并优先级 合并冲突启发式算法 合并规则标记 节点标记 属性标记 标记选择 ...

  9. alert&lpar;&rpar;、confirm&lpar;&rpar;、prompt&lpar;&rpar;的区别

    使用消息框 使用警告.提示和确认 可以使用警告.确认和提示消息框来获得用户的输入.这些消息框是 window 对象的接口方法.由于 window 对象位于对象层次的顶层,因此实际应用中不必使用这些消息 ...

  10. Programming Specification

    1. Define variable return_code to record the function's status. int return_code = 0; 2. Define the e ...