文档章节

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

路小磊
 路小磊
发布于 2014/05/07 23:52
字数 427
阅读 6671
收藏 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比较好用,在初次删除后可以很好的恢复文件及目录结构,但是如果我在相同位置新建了相同的文件名或者目录名,就会恢复失败(找不到了)。而恢复单独的文件或者目录则没有成功,如果有成功的可以告诉我。

© 著作权归作者所有

共有 人打赏支持
路小磊

路小磊

粉丝 314
博文 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
关于Windows下删除Linux系统的笔记

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

acmfly
2013/10/23
0
0
永远不要在Linux执行的10个最危险的命令

Linux命令行佷有用、很高效,也很有趣,但有时候也很危险,尤其是在你不确定你自己在正在做什么时候。这篇文章并不打算引来你对Linux或linux 命令行的愤怒。我们只是想让你意识到在你运行某些...

帅高富
2013/12/27
0
1
Linux也有后悔药,五种方案快速恢复你的系统

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由信姜缘 发表于云+社区专栏 新手在学习Linux系统的时候,难免会遇到命令输错,或系统出错的难题。那么如何快速解决呢?本文...

腾讯云加社区
07/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Shell特殊符号总结以及cut,sort,wc,uniq,tee,tr,split命令

特殊符号总结一 * 任意个任意字符 ? 任意一个字符 # 注释字符 \ 脱义字符 | 管道符 # #号后的备注被忽略[root@centos01 ~]# ls a.txt # 备注 a.txt[root@centos01 ~]# a=1[root@centos01...

野雪球
28分钟前
1
0
OSChina 周二乱弹 —— 程序员圣衣

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文:分享Skeeter Davis的单曲《The End of the World》 《The End of the World》- Skeeter Davis 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
43分钟前
4
0
[ python import module ] 导入模块

import moudle_name ----> import module_name.py ---> import module_name.py文件路径 -----> sys.path (这里进行查找文件) # from app.web import Personimport app.web.Person as Pe......

_______-
昨天
3
0
Redis性能问题排查解决手册

一、性能相关的数据指标 通过Redis-cli命令行界面访问到Redis服务器,然后使用info命令获取所有与Redis服务相关的信息。通过这些信息来分析文章后面提到的一些性能指标。 nfo命令输出的数据可...

IT--小哥
昨天
1
0
mixin混入

①新建mixin.js文件 const mixin = { methods: { /** * 分页公共方法 */ handleSizeChange(val) { this.pageData.size = val; this.query(); }, hand......

不负好时光
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部