恢复Linux下被误删除的文件

[root@xuegod63 ~]# mount /dev/cdrom /mnt/

分一个区:sda4 

查找:extundelete

分一个区:sda4 

[root@localhost ~]# mkdir /tmp/sda4

[root@localhost ~]# mkfs.ext4 /dev/sda4     格式化

[root@xuegod63 Desktop]# echo $?

0

[root@localhost ~]# mount /dev/sda4 /tmp/sda4/

 [root@localhost ~]# df -Th  #查看磁盘相关信息

[root@xuegod63 Desktop]# mount /dev/sda4 /tmp/sda4

[root@xuegod63 Desktop]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/sda2             9.7G  3.8G  5.5G  41% /

tmpfs                 569M  264K  569M   1% /dev/shm

/dev/sda1             194M   28M  157M  15% /boot

/dev/sr0              3.4G  3.4G     0 100% /mnt

/dev/sda4            1012M   34M  928M   4% /tmp/sda4

复制一些用于测试删除的文件:

[root@localhost ~]# cp /etc/passwd /tmp/sda4/

[root@localhost ~]# cp /etc/hosts /tmp/sda4/  

[root@localhost ~]# vim /tmp/sda4/a.txt          #vim编辑a.txt 随便写入一些数据。

[root@localhost ~]# mkdir -p  /tmp/sda4/a/b/c

[root@localhost ~]# cp /tmp/sda4/a.txt /tmp/sda4/a

 

[root@localhost ~]# cp /tmp/sda4/a.txt /tmp/sda4/a/b/

删除:

[root@xuegod63 ~]# mkdir /tmp/back

[root@xuegod63 ~]# cp -r /tmp/sda4/* /tmp/back

[root@xuegod63 ~]# cd /tmp/sda4/

[root@localhost ~]# rm -rf passwd hosts a   a.txt

[root@localhost ~]# ls /tmp/sda4/

lost+found

 

 

卸载需要恢复文件的分区:  inode

[root@xuegod63 sda4]# cd

[root@xuegod63 ~]# umount /tmp/sda4/

 

安装软件 extundelete

[root@xuegod63 ~]# tar jxvf extundelete-0.2.4.tar.bz2

[root@xuegod63 ~]# cd extundelete-0.2.4

[root@xuegod63 extundelete-0.2.4]# ./configure

Configuring extundelete 0.2.4

configure: error: Can't find ext2fs library   #报错

[root@xuegod63 ~]# mount /dev/cdrom  /mnt/

[root@xuegod63 extundelete-0.2.4]# rpm -ivh /mnt/Packages/e2fsprogs-devel-1.41.12-11.el6.x86_64.rpm

[root@xuegod63 extundelete-0.2.4]#

[root@xuegod63 extundelete-0.2.4]# ./configure  #检查安装环境并生成Makefile

[root@xuegod63 extundelete-0.2.4]# make  #编译

[root@xuegod63 extundelete-0.2.4]# make install  #安装

http://www.cnblogs.com/jjzd/p/5785851.html

安装e2fsprogs-devel-1.41.12-14.el6.x86_64.rpm

开始恢复:

方法1:

通过inode结点查看被删除的文件名字:

[root@xuegod63 ~]# mkdir test

[root@xuegod63 ~]# cd test/

[root@localhost ~]# extundelete /dev/sda4 --inode 2

。。。

lost+found                                        11

passwd                                            12             Deleted

hosts                                             13             Deleted

a                                                 8193           Deleted

a.txt                                             15             Deleted

 

通过inode节点来恢复:

[root@localhost ~]# extundelete  /dev/sda4 --restore-inode  12

NOTICE: Extended attributes are not restored.

Loading filesystem metadata ... 16 groups loaded.

Loading journal descriptors ... 32 descriptors loaded.

 [root@localhost ~]# ls RECOVERED_FILES/       #恢复成功

file.12

[root@xuegod63 test]# diff /etc/passwd /root/test/RECOVERED_FILES/file.12

 

方法二,通过文件名恢复

方法二,通过文件名恢复

恢复某个文件:

[root@xuegod63 test]# rm -rf RECOVERED_FILES/

[root@localhost ~]# extundelete /dev/sda4 --restore-file  passwd

 

恢复某个目录,如目录a下的所有文件:

[root@localhost ~]# extundelete /dev/sda4 --restore-directory   a   #恢复目录a ,不用

 

恢复所有的文件

[root@localhost ~]# extundelete  /dev/sda4 --restore-all     

使用心得:

空目录或空文件恢复不成功。

恢复Linux下被误删除的文件(笔记)的更多相关文章

  1. linux下rm误删除数据库文件的恢复方法

    在linux redhat 5.4版本,rm误删除数据库文件的恢复过程分享.测试没有问题,可用. 1.首先测试rm 误删除数据库文件 [oracle@primary dbwdn]$ ll total ...

  2. 恢复Ext3下被删除的文件(转)

    恢复Ext3下被删除的文件(转) 前言 下面是这个教程将教你如何在Ext3的文件系统中恢复被rm掉的文件. 删除文件 假设我们有一个文件名叫 ‘test.txt’ $ls -il test.txt 1 ...

  3. linux下生成core dump文件方法及设置

    linux下生成core dump文件方法及设置    from:http://www.cppblog.com/kongque/archive/2011/03/07/141262.html core ...

  4. linux下分卷tar.bz文件的合并并解压缩

    linux下分卷tar.bz文件的合并并解压缩 例: linux.tar.bz2.001;linux.tar.bz2.002;linux.tar.bz2.003; 首先 cat linux.tar.b ...

  5. linux下php上传文件注意

    linux下php上传文件注意1.修改上传目录权限linux 修改某目录下所有所有子目录权限chmod -R 777 html修改某目录为任何用户都用写读执行权限chmod a+rwx html2.设 ...

  6. Linux下遍历目录及文件,更改权限

    Linux下遍历目录及文件,更改权限 引言: 我在Linux下搭建android时,将eclipse及sdk复制到/usr/下时,总会出现无法读,无法写写样的问题. 解决方案: 有两个方案: 一.将复 ...

  7. linux下java调用.so文件的方法1: JNI

    摘自http://blog.163.com/squall_smile/blog/static/6034984020129296931793/ https://my.oschina.net/simabe ...

  8. Linux 下 Vi 配置文件 .vimrc 文件

    Linux 下 Vi 配置文件 .vimrc 文件 配置 vim 的方法是在用户主目录下建立个.vimrc文件,我一般使用root帐户,所以就在/root/下建立一个.vimrc文件:vi /root ...

  9. Linux下 两台机器文件/文件夹 相互拷贝

    Linux下 两台机器文件/文件夹 相互拷贝 设有两台机器 :A:*.101及 B:*.102. 把A下的.temp/var/a.txt拷贝到B机器的/text/目录下: 进入B机器:scp root ...

随机推荐

  1. hdu 4790 Just Random (思路+分类计算+数学)

    Problem Description Coach Pang and Uncle Yang both love numbers. Every morning they play a game with ...

  2. (转)iOS7界面设计规范(1) - UI基础 - 为iOS7而设计

    今天开个新坑.其实老早就想做这事儿了.记得前一两年,苹果官方还会在开发者中心提供中文的HIG(Human Interface Guideline),后来给没了:网上能够找到的中文版本不知是官方还是同行 ...

  3. Android Studio新手全然指引

    Android Studio新手全然指引 @author ASCE1885的 Github 简书 微博 CSDN Android Studio的下载及安装 假设你的电脑能够FQ,那么请直接到Andro ...

  4. 跟我一起学extjs5(17--Grid金额字段单位MVVM方式的选择)

    跟我一起学extjs5(17--Grid金额字段单位MVVM方式的选择)         这一节来完毕Grid中的金额字段的金额单位的转换.转换旰使用MVVM特性,整体上和控制菜单的几种模式类似.首先 ...

  5. 数学之路(3)-机器学习(3)-机器学习算法-PCA

    PCA 主成分分析(Principal components analysis,PCA),维基百科给出一个较容易理解的定义:“PCA是一个正交化线性变换,把数据变换到一个新的坐标系统中,使得这一数据的 ...

  6. [Cycle.js] Introducing run() and driver functions

    Currently the code looks like : // Logic (functional) function main() { return { DOM: Rx.Observable. ...

  7. Citrix 服务器虚拟化之九 Xenserver虚拟机的XenMotion

    Citrix 服务器虚拟化之九 Xenserver虚拟机的XenMotion XenMotion 是 XenServer 的一项功能,能够将正在运行的虚拟机从一台 XenServer 主机上迁移到另外 ...

  8. iOS之断点下载,使用NSURLSession简单封装

    最近公司需要做个文件管理的功能模块,刚交到博主手上时,头都大了.因为没做过这方面的东西,只好咬牙加班,并请教某位大神,指点了一下,清楚研究方向,找了网上大量资料,最后实现简单的封装. 上代码:.h文件 ...

  9. PDO LIMIT bug

    PDO存在一个LIMIT BUG(mysql) 需要指定数据类型,而且limit后面跟的2个参数必须是数值类型,不然的话获取不到数据 例1: $dsn = "mysql:host=127.0 ...

  10. 脚本化HTTP

    1.HTTP: 定义:超文本传输协议 (HTTP-Hypertext transfer protocol) 是一种详细规定了浏览器和万维网服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协 ...