文档章节

使用exundelete在Linux下恢复删除的文件

路小磊
 路小磊
发布于 2014/05/07 23:52
字数 427
阅读 7479
收藏 148

Linux下执行 rm 并不会真正删除,而是将inode节点中的扇区删除,同时释放数据块。在数据块被系统重新分配前,这部分数据还是可以找回来的。

网上说在删除文件后要立即unmount这个分区,这样做其实是为了让外界不再写入,我们也可以设置为readonly模式代替。当然,如果为了不影响其它应用的运行,也可以不做unmount。

好的,现在就该神器extundelete上场了。以CentOS6.5为例

依赖

yum -y install e2fsprogs e2fsprogs-libs e2fsprogs-devel

安装

wget http://jaist.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2
tar jxvf extundelete-0.2.4.tar.bz2
cd extundelte-0.2.4
./configure
make; make install

查找要恢复的驱动器名

df

Filesystem             1K-blocks     Used   Available Use% Mounted on
/dev/sda1                 495844    64150      406094  14% /boot

运行恢复

默认恢复到当前目录下的RECOVERED_FILES目录中去

恢复单个文件

extundelete /dev/sdb1 --restore-file hosts

恢复一个目录

extundelete /dev/sdb1 --restore-files test/

恢复整个分区

extundelete /dev/sdb1 –-restore-all

这个工具貌似支持EXT4文件系统,经过实际测试,restore-all比较好用,在初次删除后可以很好的恢复文件及目录结构,但是如果我在相同位置新建了相同的文件名或者目录名,就会恢复失败(找不到了)。而恢复单独的文件或者目录则没有成功,如果有成功的可以告诉我。

© 著作权归作者所有

共有 人打赏支持
上一篇: Hutool之前言
下一篇: Markdown语法总结
路小磊

路小磊

粉丝 337
博文 53
码字总数 40548
作品 5
乌海
程序员
私信 提问
加载中

评论(14)

路小磊
路小磊

引用来自“D哥”的评论

SSD 含泪飘过。。。
extundelete: Bad magic number in super-block when trying to open filesystem /dev/xvdb
貌似和是否为SSD无关吧,我Google了一下,貌似和LVM有关?你是否用到了相应的技术?
工程师爸爸
工程师爸爸
SSD 含泪飘过。。。
extundelete: Bad magic number in super-block when trying to open filesystem /dev/xvdb
路小磊
路小磊

引用来自“摔死的鸟”的评论

神器啊~先mark一下,以后会用到的
路小磊
路小磊

引用来自“tolive”的评论

好的,试试
路小磊
路小磊

引用来自“Elvis_xj”的评论

我的试试
嗯,平时尝试一下,以备不时之需~我想误删的概率还是很小的~
路小磊
路小磊

引用来自“滔哥”的评论

好眼熟的内容。。。
http://www.lvtao.net/tool/463.html
眼熟很正常,这只是一个工具,使用方法大同小异,这篇文章是我们遇到问题的时候解决过程中一些经验,参考了网上很多的帖子,而我们总结的经验在于在什么情况下可以很好的恢复、哪种方法恢复可以成功,少走弯路(最后一句)。您给予的这个链接只强调使用而已~~不知这样解释是否满意?
金拱门
金拱门
神器啊~先mark一下,以后会用到的
c
calm_ly
好的,试试
滔哥
滔哥
好眼熟的内容。。。
http://www.lvtao.net/tool/463.html
Elvis_xj
Elvis_xj
我的试试
Trash-Cli:Linux 上的命令行回收站工具

相信每个人都对回收站trashcan很熟悉,因为无论是对 Linux 用户,还是 Windows 用户,或者 Mac 用户来说,它都很常见。当你删除一个文件或目录的时候,该文件或目录会被移动到回收站中。 需要...

28%
09/19
0
0
回收站功能在 Linux 中的实现

本文仿照 Windows 回收站的功能,运用 Bash 脚本在 Linux 上做了实现,创建 delete 脚本代替 rm 命令对文件或目录进行删除操做。该脚本实现了以下功能:对大于 2G 的文件或目录直接删除,否则...

wuyaoito
06/26
0
0
恢复删除的Linux文件

作为一个多用户、多任务的操作系统,Linux 下的文件一旦被删除,是难以恢复的。尽管删除命令只是在文件节点中作删除标记,并不真正清除文件内容,但是其他用户和一些有写盘动作的进程会很快覆...

刘赤龙
2010/05/26
94
0
关于Windows下删除Linux系统的笔记

本文内容有: 一、windows直接删除linux系统,但未格式化原linux分区为NTFS格式 二、windows直接删除linux系统,直接格式化原linux分区为NTFS格式 三、正确的在windows目录下删除linux系统的...

acmfly
2013/10/23
0
0
系统崩溃 十款Linux救援工具任你挑

【51CTO精选译稿】我们之前在怎么使用Linux救援模式中向大家介绍了如何使用Linux系统自身的救援模式。但是当你面对一个无法启动的系统时,你就需要一款强大和可靠的恢复工具来帮助你,本文就...

UDN社区
2010/04/16
2.5K
2

没有更多内容

加载失败,请刷新页面

加载更多

Spring源码学习笔记-1-Resource

打算补下基础,学习下Spring源码,参考书籍是《Spring源码深度解析》,使用版本是Spring 3.2.x,本来想试图用脑图记录的,发现代码部分不好贴,还是作罢,这里只大略记录下想法,不写太细了 ...

zypy333
今天
10
0
RestClientUtil和ConfigRestClientUtil区别说明

RestClientUtil directly executes the DSL defined in the code. ConfigRestClientUtil gets the DSL defined in the configuration file by the DSL name and executes it. RestClientUtil......

bboss
今天
17
0

中国龙-扬科
昨天
2
0
Linux系统设置全局的默认网络代理

更改全局配置文件/etc/profile all_proxy="all_proxy=socks://rahowviahva.ml:80/"ftp_proxy="ftp_proxy=http://rahowviahva.ml:80/"http_proxy="http_proxy=http://rahowviahva.ml:80/"......

临江仙卜算子
昨天
10
0
java框架学习日志-6(bean作用域和自动装配)

本章补充bean的作用域和自动装配 bean作用域 之前提到可以用scope来设置单例模式 <bean id="type" class="cn.dota2.tpye.Type" scope="singleton"></bean> 除此之外还有几种用法 singleton:......

白话
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部