起因:前几天在公司服务器上误操作将重要文件给删除了,遂谷歌了一把发现了神器 extundelete(如果是ext3文件系统请使用ext3grep)

一、下载及安装软件
extundelete 主页:http://extundelete.sourceforge.net/
下载地址:http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.0/extundelete-0.2.0.tar.bz2
ubuntu用户可直接安装: apt-get install extundelete

1

2

3

4

[root@www ~]# wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.0/extundelete-0.2.0.tar.bz2

[root@www ~]# tar xf extundelete-0.2.0.tar.bz2

[root@www ~]# cd extundelete-0.2.0

[root@www extundelete-0.2.0]# ./configure && make && make install    # 如果提示找不到ext2fs库,使用 yum -y install e2fsprogs* 安装

二、执行删除操作

1

2

3

4

5

6

7

8

9

10

11

12

[root@www ~]# df -Th

文件系统    类型      容量  已用  可用 已用%% 挂载点

/dev/mapper/VolGroup-lv_root

ext4     38G  2.2G   34G   6% /

tmpfs        tmpfs    122M     0  122M   0% /dev/shm

/dev/sda1     ext4    485M   30M  430M   7% /boot

/dev/sdb1     ext4   1003M   18M  935M   2% /mnt/test

[root@www ~]# ls /mnt/test/

extundelete-0.2.0.tar.bz2  hosts  lost+found  resolv.conf

[root@www ~]# rm -rf /mnt/test/hosts /mnt/test/resolv.conf

[root@www ~]# ls /mnt/test/

extundelete-0.2.0.tar.bz2  lost+found

二、数据恢复
    1.卸载需要恢复文件的分区

1

2

[root@www ~]# fuser -k /mnt/test/               <-- 结束使用某分区的进程树

[root@www ~]# umount /mnt/test                  <-- 卸载分区

2.使用extundelete查看分区上存在的文件

1

[root@www ~]# extundelete --inode 2 /dev/sdb1    # --inode 为查找某i节点中的内容,使用2则说明为搜索,如果需要进入目录搜索,只须要指定目录I节点即可

上图中红框内容可以看出,被删除的两个文件已经被找到,状态为已经删除,接下来就将它们恢复出来

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

[root@www ~]# extundelete --restore-inode 13 /dev/sdb1    # --restore-inode 恢复指定的I节点文件,默认全将恢复出来的文件放在当前路径 RECOVERED_FILES/ 目录下,文件名为 file.I节点号

WARNING: Extended attributes are not restored.

Loading filesystem metadata ... 8 groups loaded.

Loading journal descriptors ... 21 descriptors loaded.

Writing output to directory RECOVERED_FILES/

Restored inode 13 to file RECOVERED_FILES/file.13

[root@www ~]# extundelete --restore-inode 14 /dev/sdb1

WARNING: Extended attributes are not restored.

Loading filesystem metadata ... 8 groups loaded.

Loading journal descriptors ... 21 descriptors loaded.

Restored inode 14 to file RECOVERED_FILES/file.14

[root@www ~]# ls RECOVERED_FILES/

file.13  file.14

[root@www ~]# mount /dev/sdb1 /mnt/test/

[root@www ~]# mv RECOVERED_FILES/file.13 /mnt/test/resolv.conf

[root@www ~]# mv RECOVERED_FILES/file.14 /mnt/test/hosts

[root@www ~]# cat /mnt/test/hosts            # 查看被恢复出来的文件 是否与源文件一致

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.1.250   www.skyelek.com www

192.168.1.250   svn.skkelek.com svn

[root@www ~]# cat /mnt/test/resolv.conf

; generated by /sbin/dhclient-script

search www.skyelek.com skyelek.com

nameserver 192.168.1.200

转载于:https://blog.51cto.com/374400/1435350

EXT4中恢复使用rm命令误删除的文件相关推荐

  1. linux的垃圾箱是哪个文件夹,Ubuntu命令行的垃圾箱Trash CLI,远离 rm 命令误删除重要文件的阴影...

    原标题:Ubuntu命令行的垃圾箱Trash CLI,远离 rm 命令误删除重要文件的阴影 作为Linux用户,您可能需要不时从系统中删除文件.我们在删除文件时往往会保持谨慎,特别是在永久删除文件时, ...

  2. Linux/Ubuntu: 使用 trash-cli 防止 rm 命令误删除重要文件

    曾几何时,一条 rm -rf /useless /* 命令干掉了我们需要的文件,也干掉的整个系统, 这是是不是与哭无泪啊. 像这种使用 rm 命令误删除文件的情况,我们会注意,但是我们不能保证百分百的 ...

  3. linux trash命令,Linux/Ubuntu: 使用 trash-cli 防止 rm 命令误删除重要文件

    曾几何时,一条 rm -rf /useless /* 命令干掉了我们需要的文件,也干掉的整个系统, 这是是不是与哭无泪啊. 像这种使用 rm 命令误删除文件的情况,我们会注意,但是我们不能保证百分百的 ...

  4. Linux中如何恢复rm命令误删除的文件之extundelete编译安装及使用

    1.下载extundelete包,安装依赖 我用的是Centos系统,在安装extundelete之前需要安装e2fsprogs,e2fsprogs-libs,e2fsprogs-devel. yum ...

  5. linux服务器垃圾箱,如何将Linux rm命令删除的文件放入垃圾箱

    因为rm命令删除的文件是不会放入垃圾箱的,所以无法恢复.通过替换Linux rm命令的方法,从而将rm命令删除的文件放入垃圾箱,这样就能将误删的文件恢复,一起来学习下吧. 方法: 1. 在/home/ ...

  6. linux 垃圾箱位置,如何将Linux rm命令删除的文件放入垃圾箱

    因为rm命令删除的文件是不会放入垃圾箱的,所以无法恢复,下面小编就给大家介绍一种方法,通过替换Linux rm命令的方法,从而将rm命令删除的文件放入垃圾箱. 方法: 1. 在/home/userna ...

  7. Linux垃圾箱位置,将Linux rm命令删除的文件放入垃圾箱的方法

    有的朋友说Linux rm命令删除的文件不会放入垃圾箱,想要找回这个文件很麻烦!现在我来告诉你们如何将Linux rm命令删除的文件放入垃圾箱! 方法: 1. 在/home/username/ 目录下 ...

  8. 【Linux】rm 命令:删除文件/文件夹

    文章目录 一.删除文件/文件夹:rm 命令 二.删除文件(即这个文件被删除) 三.删除文件夹 四.注意 参考链接 一.删除文件/文件夹:rm 命令 rm 是强大的删除命令,它可以 永久性地 删除文件系 ...

  9. 恢复被rm意外删除数据文件

    恢复被rm意外删除数据文件 ======================== 对于rm,很多人都有惨痛的教训.我也遇到一次,一下午写的程序就被rm掉了,幸好只是一个文件,第二天很快又重新写了一遍.但是 ...

  10. linux git删除的文件怎么还原,从Git仓库中恢复已删除的分支、文件或丢失的commit...

    从Git仓库中恢复已删除的分支.文件或丢失的commit 在使用Git的过程中,有时可能会有一些误操作 比如:执行checkout -f 或 reset -hard 或 branch -d删除一个分支 ...

最新文章

  1. 关于被代理的bean的注入的问题
  2. nodpad 设置护眼_Notepad++更改背景颜色(护眼色)
  3. 婚纱摄影五大标杆品牌告诉你,客资转化居然可以这么玩?
  4. android viewflipper 手势,Android中使用ViewFlipper进行手势切换实例
  5. MarkDown编辑器实用语法、数学公式汇总
  6. Java周记(第一周)
  7. 去哪儿网2018春招软件开发工程师、前端开发工程师编程题 - 题解
  8. Python翻译库 pygtrans 谷歌翻译
  9. 深入Netty源码解析内存优化技巧
  10. 深入java虚拟机 视频_深入理解Java虚拟机全套完整视频教程
  11. 利用VBA在EXCEL 获取网页上的天气
  12. 【计算机网络】4-41假定网络中的路由器B的路由表有如下的项目(这三列分别表示“目的网络”、“距离”和“下一跳路由器”):
  13. 30岁有哪些方向可以转型?
  14. 国内外主要的PHP开源CMS系统分析
  15. 斐波纳契数列 1,1,2,3,5,8,13,21,34,55,89……这个数列则称为“斐波纳契数列”,其中每个数字都是“斐波纳契数”。
  16. TLS1.3 协议的加密过程
  17. (转)2018pycharm破解
  18. ERROR:ORA-28009: connection to sys should be as sy - [oracle10g]
  19. 存储系统 - 存储网络的发展
  20. (附源码)计算机毕业设计SSM租房管理信息系统

热门文章

  1. CSS让同一行文字和输入框对齐
  2. 《ASP网络编程从入门到精通》
  3. logging模块(二十六)
  4. mysql的常用引擎
  5. 改变iOS app的icon(iOS10.3)
  6. jquery 添加可操作,编辑不可操作
  7. SQL注入攻击和防御
  8. Maven常用命令 - 构建反应堆中指定模块
  9. JetBrains注册码计算(IntelliJ IDEA 15.0注册码激活)
  10. 重启Oracle 服务