下载

http://extundelete.sourceforge.net/

bunzip2 extundelete-0.2.0.tar.bz2

tar xvf extundelete-0.2.0.tar

cd extundelete-0.2.0

make

make install

[root@yznvm1 yzn]# df
文件系统               1K-块        已用     可用 已用% 挂载点
/dev/sda3             18129292   2651744  14541764  16% /
/dev/sda1               194442     12197    172206   7% /boot
tmpfs                   254804         0    254804   0% /dev/shm
/dev/hdc               4149676   4149676         0 100% /mnt/cdrom

[root@yznvm1 yzn]# extundelete /dev/sda3--restore-file /home/yzn/helloworld/Makefile.am        
WARNING: Extended attributes are not restored.
WARNING: EXT3_FEATURE_INCOMPAT_RECOVER is set.
The partition should be unmounted to undelete any files without further data loss.
If the partition is not currently mounted, this message indicates 
it was improperly unmounted, and you should run fsck before continuing.
If you decide to continue, extundelete may overwrite some of the deleted
files and make recovering those files impossible.  You should unmount the
file system and check it with fsck before using extundelete.
Would you like to continue? (y/n) 
y
Loading filesystem metadata ... 143 groups loaded.
Loading journal descriptors ... 29535 descriptors loaded.
Writing output to directory RECOVERED_FILES/
Restored inode 4223596 to file RECOVERED_FILES/home/yzn/helloworld/Makefile.am

ok,这样就恢复成功了。

当然文件不能保证一定恢复成功,我的另外一个文件恢复出来是乱码,还有一个文件报错找不到inode.

从名字上就可以看出来本次给大家推荐的是一款ext3/ext4文件系统上找回被删除的文件或者文件夹的工具和之前大家使用的ext3grep差不多。但是此款工具更为简单。此款工具本人未测试 ,还请大家使用过后放出测试截图或者数据

1.安装
此工具依赖两个包 e2fsprogs version 1.41 和e2fslibs  在RH/Centos系列上 名字为e2fsprogs 和 e2fsprogs-libs
下载附件中的文件
# tar -xvf extundelete-0.2.0.tar
# ./configure
# make && make install
好了 安装完毕
2.如何使用
我们使用一个分区/dev/sdb1 挂在在/backup上,建立一个测试目录gnutool-delete 并建立一些文件
# mkdir -p /backup/gnutool-delete
# cd /backup/gnutool-delete
# man man > file1-test.txt
# man man > file2-test.txt
#mkdir folder1; cd folder1; man man > file1-test.txt
现在 删除目录
# rm -rf /backup/gnutool-delete
现在卸载文件系统或者挂载为只读
# umount /backup or mount -o remount,ro /backup
3 我们现在使用extundelete 来找回

extundelete  会在当前目录创建一个“RECOVERED_FILES” 来放修复的文件 使用以下命令找回所有文件
extundelete /dev/sdb1 –restore-all
也可以使用以下命令修复 指定文件
extundelete /dev/sdb1 —-restore-directory /backup/gnutool-delete
4.找回/目录的文件
首先 挂载/分区为只读,准备一个可以读写的分区 我们以/etc/passwd文件为例
# mount -o remount,ro /
# cd /secondarydrive (必须可读可写)
# extundelete / —-restore-files /etc/passwd 
# cd RECOVERED_FILES
# ls
好了 修复完毕

 
 

使用vim时,很讨厌rm命令的提示,每次删除一个文件时,总是提示是否删除,于是就自动将rm命令转换为rm -fr,这会可没有讨厌的提示了。但是问题出现了,无意间的误操作,写了2天的程序就这样被删除了,痛苦不已。

于是在网上搜索如何恢复文件,虽然最后恢复出来一些重要文件,但是还是一些文件没有恢复出来。赶紧将rm命令改为原来,以免再出错。

想想也是,rm命令本来就应该谨慎使用,我想vim设计者也是这样认为的,所以每次rm时都会提示使用者,哎,误会大师了。

在这里把恢复过程写上,以示警惕自己。

恢复过程其实很简单(针对我自己的情况:vmware6.5 ubuntu 10.04 ext4)

主要参考该仁兄的文章,2011-01-12写的,比我早一天,我真是很幸运啊/(^o^)/~

http://hi.baidu.com/godor9/blog/item/c41f95cd6ed23a1193457e4c.html

1. 看你的文件系统类型,是否为ext4

#parted 接着输入p

Number  Start   End     Size    Type      File system     Flags
     1      1049kB  22.6GB  22.6GB  primary   ext4            boot
     2      22.6GB  23.6GB  1020MB  extended
     5      22.6GB  23.6GB  1020MB  logical   linux-swap(v1)

2. 如果是ext4,则可以使用extundelete 工具,该工具针对ext3和ext4文件系统

参考:http://extundelete.sourceforge.net/

下载最新版本,./configure --prefix=/var/extundelete; make ; make install

由于担心安装extundelete后会覆盖我删除的文件,所以我安装到/var目录下,configure时出现了一个错误:Can't find ext2fs library,解决方法:sudo apt-get install e2fslibs-dev e2fslibs-dev,然后make,make install即可

3. 生产可执行文件extundelete后,使用它来恢复删除的文件:

#./extundelete /dev/sda1 --restore-all

需要一段时间,把以前删除的文件只要能恢复的全恢复出来,执行完毕后在当前目录生产一个RECOVERED_FILES目录,里面即是恢复出来的文件,还包括文件夹哦/(^o^)/~,很方便查找。如果你还记得删除文件中一些内容,直接grep就可以了,很快能找到删除的文件,如果找到的Binary file,那只能杯具了。

注意:在参考那位仁兄的文章时,并没有进入单用户模式,安装完extundelete后直接运行恢复;也没有umount  /home; 提示umount: /home: not mounted。

linux 下文件恢复工具extundelete介绍的更多相关文章

  1. linux下文件权限的介绍

    linux操作系统下,使用ll查看该目录下所有文件及其文件权限,以下是对文件权限的介绍 d代表的是目录(或称之为文件夹)   红框内的这3个是代表3个组的权限每组都是3个 第一组rwx代表是本用户的权 ...

  2. Linux上文件恢复工具

    文件恢复工具extundelete官网:http://extundelete.sourceforge.net/ 使用方法,在页面里找到download,下载源码安装包:extundelete-0.2. ...

  3. Linux下文件的权限

    一.Linux下查看文件属性 命令为: [root@localhost ~]# ls -al 结果: ls是『list』的意思,重点在显示文件的文件名与相关属性.而选项『-al』则表示列出所有的文件详 ...

  4. linux 下文件误删恢复

    linux 下文件误删恢复 0x01 事件背景 某天晚上写代码的时候,本来想删除当前目录下一个叫xxx的文件夹 rm -rdf ./xxx/*, 结果光顾着和人说话,一不留神手贱把命令敲成了rm -r ...

  5. Ext分区文件恢复工具extundelete

     Ext分区文件恢复工具extundelete Ext是延伸文件系统(Extended system)的缩写.它是为Linux内核开发的第一个文件系统.它有多个版本.现在常见的是Ext3和Ext4.由 ...

  6. (转)linux下文件删除的原理精华讲解(考试题答案系列)

    linux下文件删除的原理精华讲解(考试题答案系列) 说明:本文为老男孩linux培训某节课前考试试题及答案分享博文内容的一部分,也是独立成题的,你可以点下面地址查看全部的内容信息.http://ol ...

  7. linux下top命令详细介绍

    linux下top命令详细介绍 top 命令是 Linux 下常用的系统资源占用查看及性能分析工具,能够实时显示系统中各个进程的资源(比如cpu.内存的使用)占用状况,top命令的执行结果是一个动态显 ...

  8. Linux下文件的三种时间戳

    Linux下文件的三种时间标记 三种时间对应关系表 column column column 访问时间 Access atime 修改时间 Modify mtime 状态改动时间 Change cti ...

  9. linux下文件结束符

    linux下文件结束符,我试过了所有的linux,发现其文件的结束符都是以0a即LF结束的,这个是操作系统规定的,windows下是\r\n符结束,希望可以帮助大家. -------------转:来 ...

随机推荐

  1. DevOps必备的20款顶级工具

    原文地址:http://os.51cto.com/art/201606/512423.htm 开发运维工具与软件开发领域的最佳实践密切相关,也与必要的规范密切相关.在整个开发生命周期涉及到一大批新旧工 ...

  2. React Native 入门篇

    React Native 英文官网:https://facebook.github.io/react-native/ React Native 中文官网:http://reactnative.cn/ ...

  3. javascript关闭弹出窗体时刷新父窗体和居中显示弹出窗

    居中显示用到了moveTO()方法: 关闭弹出窗时刷新父窗体用到了window.opener方法: 父窗体代码例如以下: <%@ Page Language="C#" Aut ...

  4. 记一次Oracle数据故障排除过程

    前天在Oracle生产环境中,自己的存储过程运行时间超过1小时,怀疑是其他job运行时间过长推迟了自己job运行时间,遂重新跑job,发现同测试环境的确不同,运行了25分钟. 之后准备在测试环境中制造 ...

  5. CSDN专訪:大数据时代下的商业存储

    原文地址:http://www.csdn.net/article/2014-06-03/2820044-cloud-emc-hadoop 摘要:EMC公司作为全球信息存储及管理产品方面的率先公司,不久 ...

  6. C#泛型<T>说明

    泛型:即通过参数化类型来实现在同一份代码上操作多种数据类型.泛型编程是一种编程范式,它利用“参数化类型”将类型抽象化,从而实现更为灵活的复用. C#泛型的作用概述 C#泛型赋予了代码更强的类型安全,更 ...

  7. EasyDSS流媒体解决方案之多方式虚拟直播方法

    EasyDSS_Solution虚拟直播 EasyDSS_Solution虚拟直播,是EasyDSS流媒体解决方案提供的虚拟直播方案.可以通过三种方式创建虚拟直播. (1)点播的视频文件: (2)本地 ...

  8. 使用 Django1.11搭建blog项目

    使用Django搭建blog项目 简单设置: http://blog.csdn.net/w_e_i_/article/details/70761604 模板渲染: http://blog.csdn.n ...

  9. C#中的new和override(转)

    在衍生类中的方法上使用new和override关键字有何意义,可以通过一系列问题来找到答案.先看一段代码: 1 class Program 2 { 3 static void Main(string[ ...

  10. Python爬虫--初识爬虫

    Python爬虫 一.爬虫的本质是什么? 模拟浏览器打开网页,获取网页中我们想要的那部分数据 浏览器打开网页的过程:当你在浏览器中输入地址后,经过DNS服务器找到服务器主机,向服务器发送一个请求,服务 ...