需要工具extundelete(可通过xshell上传下载到linux)

知识点:

ifconifig eth0             查看ip

fdisk /dev/sda          管理磁盘

mkfs.ext4 /dev/sda4         格式化sda4分区为ext4的文件系统分区

mount /dev/cdrom /mnt/        挂载光驱

umount /dev/cdrom        卸载光驱

df -Th                查看挂载信息

echo $?                返回上个命令是否成功

ls !$                查看上个命令的参数

ls *2fs*            过滤查看文件

tar -jxvf ??.tar.bz2           解压文件  -j 解压bzip2类型 -x 解压 -v 详细信息 -f 指定文件名

rpm -ivh ??.rpm            安装 -i 安装 -v详情信息 -h带单位

uname -m            查看操作系统位数

diff 1.txt 2.txt        比较文件

md5sum 1.txt 2.txt        比较文件

configure            检测

make                编译

make install            安装

extundelete /dev/??? --inode 2  查看可恢复文件

extundelete /dev/??? --restore-[inode/file/directory/all] 恢复文件

准备工作

[root@demon-rhel6 ~]#mount /dev/cdrom /mnt/      ###挂载光盘到mnt目录下
  
[root@demon-rhel6 ~]# fdisk /dev/sda             ###fdsik 为磁盘管理器

Command (m for help):p                           ### 'p' 查看已划分好的分区

Command (m for help):n                 ###'n' 创建新分区

Command action
    e  extended  #扩展分区
    p  primary partition(1-4) #主分区
p                                                ### 'p' 选择创建主分区

First cylinder (1428-2610, default 1428):        ###选择从哪里开始分区,'enter'选择默认

Last cylinder, +cylinders or +size{K,M,G} (1428
 - 2610,default:2610) : +1G                     ###选择分区的大小或末位置,'+1G' 分出1G

Command (m for help):w                 ### 'w' 保存分区设置

[root@demon-rhel6 ~]#reboot                      ###重启后生效

[root@demon-rhel6 ~]#mkdir /tmp/sda4             ###为新分区创建挂载点

[root@demon-rhel6 ~]#mkfs.ext4 /dev/sda4     ###格式化sda4分区为ext4的文件系统分区

[root@demon-rhel6 ~]#mount /dev/sda4 /tmp/sda4   ###挂载sda4分区

[root@demon-rhel6 ~]#df -Th                      ###查看挂载信息 -T显示系统文件 -h显示大小单位

[root@demon-rhel6 ~]#echo $?              ###查看命令是否执行成功

[root@demon-rhel6 ~]#cd /tmp/sda4                ###进入sda4分区

删除文件

以下为制造被删除的文件操作

[root@demon-rhel6 sda4]##cp /etc/passwd /tmp/sda4     ###拷贝文件到sda4

[root@demon-rhel6 sda4]##touch /tmp/sda4/a.txt          ###创建文件

[root@demon-rhel6 sda4]##vim /tmp/sda4/a.txt          ###编辑文件

[root@demon-rhel6 sda4]##mkdir -p /aa/bb/cc           ###创建目录 -p创建父目录

[root@demon-rhel6 sda4]##cp /tmp/sda4/a.txt /tmp/sda4/aa/

[root@demon-rhel6 sda4]##cp /tmp/sda4/a.txt /tmp/sda4/aa/bb

开始删除

[root@demon-rhel6 sda4]##ls /tmp/sda4/                   ###查看有哪些文件

[root@demon-rhel6 sda4]##mkdir /tmp/back           ###创建备份夹

[root@demon-rhel6 sda4]##mkdir /tmp/sda4/* /tmp/back/      ###备份
  
[root@demon-rhel6 sda4]##ls !$                        ###'!$'表示上次命令最后一个参数也就是/tmp/back

[root@demon-rhel6 sda4]##rm -rf passwd a a.txt                ###删除文件

注意:lost+found暂不明确其作用,先别删除

安装工具

被删除后的文件之所以能被恢复是因为,文件在硬盘中的数据还在只不过名字被删除了而已
但是如果有别的数据区覆盖也就是新添加了一些其他文件那么则恢复不了,为了避免被覆盖
被删除后的第一时间要卸载分区

[root@demon-rhel6 sda4]#cd                                 ###退出分区

[root@demon-rhel6 ~]#umount /dev/sda4                      ###卸载sda4

注意如果不退出分区,则无法卸载该分区----站在桥上不可拆桥

umount: /tmp/sda4: device is busy.
        (In some cases useful info about processes that use
         the device is found by lsof(8) or fuser(1))

[root@demon-rhel6 ~]#tar -jxvf soft/extundelete-0.2.4.tar.bz2  ###解压  -j 解压bzip2类型 -x 解压 -v 详细信息 -f 指定文件名

[root@demon-rhel6 soft]# cd extundelete-0.2.4

[root@demon-rhel6 extundelete-0.2.4]# ls                      ###可以看到有configure的文件

[root@demon-rhel6 extundelete-0.2.4]# configure               ###检查环境

configure: error: Can't find ext2fs library                   ///缺少ext2fs环境库

[root@demon-rhel6 extundelete-0.2.4]# cd /mnt/Packages/           ###打开光碟的安装包下载环境

[root@demon-rhel6 Packages]# ls ext2fs                   ###没找到
ls: 无法访问ext2fs: 没有那个文件或目录

[root@demon-rhel6 Packages]# ls *2fs*                   ###缩小范围查找类似

[root@demon-rhel6 Packages]# uname -m                   ###查看操作系统位数

[root@demon-rhel6 Packages]#rpm -ivh e2fsprogs-libs-1.41.12-12.el6.x86_64.rpm              ###安装 -i 安装 -v详情信息 -h带单位

warning: e2fsprogs-libs-1.41.12-12.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing...                ########################################### [100%]
    package e2fsprogs-libs-1.41.12-12.el6.x86_64 is already installed

//上面报错表示已有该环境了,这是侯只是缺少了相关的开发工具devel 而不是libs

[root@demon-rhel6 Packages]#rpm -ivh e2fsprogs-devel-1.41.12-12.el6.x86_64.rpm

安装完后返回之前的文件夹

[root@demon-rhel6 Packages]#cd  -

[root@demon-rhel6 extundelete-0.2.4]# ./configure         ##检查安装环境

[root@demon-rhel6 extundelete-0.2.4]#  make          ##编译

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

开始恢复

[root@demon-rhel6 extundelete-0.2.4]# cd ~/test

[root@demon-rhel6 test]# extundelete /dev/sda4 --inode 2

File name                                       | Inode number | Deleted status
.                                                 2
..                                                2
lost+found                                        11
lookd.bat                                         12             Deleted
sleep.vbs                                         13             Deleted
variable.txt                                      14             Deleted
hosts                                             15             Deleted
a.txt                                             16             Deleted
aa                          8193           Deleted

[root@demon-rhel6 test]# extundelete /dev/sda4 --restore-inode 12          ##恢复lookd.bat到当前目录

[root@demon-rhel6 test]# diff RECOVERED_FILES/file.12 /tmp/back/lookd.bat  ##对比备份文件是否一致

[root@demon-rhel6 test]# extundelete /dev/sda4 --restore-filenames hosts   ##以文件名恢复

[root@demon-rhel6 test]# extundelete /dev/sda4 --restore-directory         ##以目录恢复

[root@demon-rhel6 test]# extundelete /dev/sda4 --restore-all            ##恢复全部

Linux-Rhel6 恢复误删文件的更多相关文章

  1. Linux下恢复误删文件:思路+实践

    周五篮球群里有人问误删文件了怎么恢复,得知是ext4文件系统之后我推荐了ext4magic这个工具,然后又有人提到了xfs的话怎么办,正好前几天看到Dave Chinner在邮件列表里提到了这个问题, ...

  2. eclipse如何恢复误删文件

    刚刚真的要吓死宝宝了,不是说宝宝心里素质差,是因为刚刚误删的文件实在是太重要了,废话不多说了,正题 如何恢复eclipse误删的文件 1,当时被误删了,可立即 Ctrl+z 即可恢复误删文件; 2,时 ...

  3. 【转载】恢复误删文件--DOS命令应用实例(一)

    <电脑爱好者>报转载第一辑第二篇之恢复误删文件--DOS命令应用实例(一)                             恢复误删文件--DOS命令应用实例(一) 上期我们讲述了 ...

  4. Linux之恢复误删除文件

    前言每当我们在生产环境服务器上执行rm命令时,总是提心吊胆的,因为一不小心执行了误删,然后就要准备跑路了,毕竟人不是机器,更何况机器也有 bug.那么如果真的删除了不该删除的文件,比如数据库.日志或执 ...

  5. lsof恢复误删文件

    用 lsof 恢复 误删除文件实验: 先模拟一个进程: [tiger@root:/home/tiger]$ echo "hello deletede" >> test. ...

  6. Linux之恢复误删的文件[针对丢弃到回收站]

    1.丢弃到回收站(非RM)掉的文件一般在目录~/.local/share/Trash/files/下: 2.如何恢复呢? 原理很简单,既然它们还在,要么copy,要么移动到一个新的地方即可嘛. //以 ...

  7. git恢复误删文件及省去密码提交

    自己遇到这种情况:自己将某文件在网页的控制面板上直接删除了,再pull下来.或者一个成员误删除了某个文件,然后push到远程库了,其他成员也都pull了,结果就是所有人的本地库当前版本中这个文件都不见 ...

  8. Linux - rm 修复误删文件

    fdisk -l # 分区信息lsblk -f # 查看文件类型/etc/fstab # 查看文件格式挂载启动信息 # debugfs针对 ext2 # ext3grep针对 ext3 # extun ...

  9. 如何有效恢复误删的HDFS文件

    HDFS是大数据领域比较知名的分布式存储系统,作为大数据相关从业人员,每天处理HDFS上的文件数据是常规操作.这就容易带来一个问题,实际操作中对重要数据文件的误删,那么如何恢复这些文件,就显得尤为重要 ...

随机推荐

  1. 基于spring注解AOP的异常处理

    一.前言 项目刚刚开发的时候,并没有做好充足的准备.开发到一定程度的时候才会想到还有一些问题没有解决.就比如今天我要说的一个问题:异常的处理.写程序的时候一般都会通过try...catch...fin ...

  2. 一起学微软Power BI系列-使用技巧(4)Power BI中国版企业环境搭建和帐号问题

    千呼万唤的Power BI中国版终于落地了,相信12月初的微软技术大会之后已经铺天盖地的新闻出现了,不错,Power BI中国版真的来了,但还有些遗憾,国际版的一些重量级服务如power bi emb ...

  3. Base64编码

    Base64编码 写在前面 今天在做一个Android app时遇到了一个问题:Android端采用ASE对称加密的数据在JavaWeb(jre1.8.0_7)后台解密时,居然解密失败了!经过测试后发 ...

  4. Android消息传递之基于RxJava实现一个EventBus - RxBus

    前言: 上篇文章学习了Android事件总线管理开源框架EventBus,EventBus的出现大大降低了开发成本以及开发难度,今天我们就利用目前大红大紫的RxJava来实现一下类似EventBus事 ...

  5. 视频 - 在 VirtualBox 中部署 OpenStack

    大家新年好,CloudMan 今天给大家带来一件新年礼物. 一直以来大家都反馈 OpenStack 学习有两大障碍:1. 实验环境难搭2. 体系复杂,难道大今天我就先帮大家解决环境问题.前两天我抽空在 ...

  6. 从c#角度看万能密码SQL注入漏洞

    以前学习渗透时,虽然也玩过万能密码SQL注入漏洞登陆网站后台,但仅仅会用,并不理解其原理. 今天学习c#数据库这一块,正好学到了这方面的知识,才明白原来是怎么回事. 众所周知的万能密码SQL注入漏洞, ...

  7. css3制作旋转动画

    现在的css3真是强大,之前很多动画都是用jq来实现,但是css3制作的动画要比jq实现起来简单很多,今天呢,我自己也写了一个css旋转动画和大家分享.效果如下面的图片 思路:1.制作之前呢,我们先来 ...

  8. Java—恶心的java.lang.NumberFormatException解决

    项目中要把十六进制字符串转化为十进制, 用到了到了Integer.parseInt(str1.trim(), 16):这个是不是后抛出java.lang.NumberFormatException异常 ...

  9. Create a bridge using a tagged vlan (8021.q) interface

    SOLUTION VERIFIED April 27 2013 KB26727 Environment Red Hat Enterprise Linux 5 Red Hat Enterprise Li ...

  10. php利用root权限执行shell脚本

    vi /etc/sudoers , 为apache用户赋予root权限,并且不需要密码,还有一步重要的修改(我被困扰的就是这个地方) root  ALL=(ALL)  ALL apache  ALL= ...