zoukankan      html  css  js  c++  java
  • linux下恢复误删除的文件方法(ext2及ext3)

    分类: 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
        13      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目录下就是恢复出来的文件
      
  • 相关阅读:
    20169218 2016-2017-2 《网络攻防实践》第八周学习总结
    20169218 2016-2017-2 《网络攻防实践》第七周学习总结
    20169218 2016-2017-2 《网络攻防实践》第六周学习总结
    20169218 2016-2017-2 《网络攻防实践》第五周学习总结
    20169218 2016-2017-2 《网络攻防实践》第四周学习总结
    十三周作业—使用Metaspoit攻击MS08-067
    20169206 2016-2017-2 《网络攻防实践》课程总结
    《网络攻防》第十四周作业-免杀
    《网络攻防》 第十二周作业 SQL注入
    《网络攻防》 第十一周作业
  • 原文地址:https://www.cnblogs.com/anruy/p/4941630.html
Copyright © 2011-2022 走看看