需要工具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. EntityFramework Core Raw SQL

    前言 本节我们来讲讲EF Core中的原始查询,目前在项目中对于简单的查询直接通过EF就可以解决,但是涉及到多表查询时为了一步到位就采用了原始查询的方式进行.下面我们一起来看看. EntityFram ...

  2. CorelDRAW X8 如何破解激活(附国际版安装包+激活工具) 2016-12-15

    之前有位搞平面的好友“小瘦”说CDR X8无法破解,只能用X7.呃……呃……呃……好像是的 其实CDR8难激活主要在于一个点“没有离线激活了,只可以在线激活”,逆天不是专供逆向的,当然没能力去破解,这 ...

  3. HTML骨架结构

    前面的话   一个完整的HTML文档必须包含3个部分:文档声明.文档头部和文档主体.而正是它们构成了HTML的骨架结构.前面已经分别介绍过文档声明和文档头部,本文将详细介绍构成HTML骨架结构的基础元 ...

  4. MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句

    第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...

  5. java 线程 Lock 锁使用Condition实现线程的等待(await)与通知(signal)

    一.Condition 类 在前面我们学习与synchronized锁配合的线程等待(Object.wait)与线程通知(Object.notify),那么对于JDK1.5 的 java.util.c ...

  6. 封装集合(Encapsulate Collection)

    封装就是将相关的方法或者属性抽象成为一个对象. 封装的意义: 对外隐藏内部实现,接口不变,内部实现自由修改. 只返回需要的数据和方法. 提供一种方式防止数据被修改. 更好的代码复用. 当一个类的属性类 ...

  7. Dynamics CRM 之ADFS 使用 WID 的独立联合服务器

    ADFS 的使用 WID 的独立联合服务器适用于自己的测试环境,常用的就是在虚机中使用. 拓扑图如下: wID:联合身份验证服务配置为使用 Windows 内部数据库

  8. SAP自定义权限对象

    SAP系统自带了很多的权限对象,每一个运行画面都有非常多的权限用到.不过标准的权限对象并不一定适合于用在客户自己开发的程序里面,所以每个ABAPer都应该会自己开发一套权限对象,并引用在程序代码里面. ...

  9. Linux学习笔记(一):常用命令

    经过统计Linux中能够识别的命令超过3000种,当然常用的命令就远远没有这么多了,按照我的习惯,我把已经学过的Linux常用命令做了以下几个方面的分割: 1.文件处理命令 2.文件搜索命令 3.帮助 ...

  10. mysql 远程访问权限

    MySQL默认没有开启远程访问的权限,需要手动打开,步骤如下: 1.通过命令行登录2.mysql>update user set host = '%' where user = 'root';这 ...