需要工具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. TODO:即将开发的第一个小程序

    TODO:即将开发的第一个小程序 微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验.个人理解小程序是寄宿在微信平台上的一个前端框架,具有跨平台功能, ...

  2. 记一个mvn奇怪错误: Archive for required library: 'D:/mvn/repos/junit/junit/3.8.1/junit-3.8.1.jar' in project 'xxx' cannot be read or is not a valid ZIP file

    我的maven 项目有一个红色感叹号, 而且Problems 存在 errors : Description Resource Path Location Type Archive for requi ...

  3. 分布式系列文章——从ACID到CAP/BASE

    事务 事务的定义: 事务(Transaction)是由一系列对系统中数据进行访问与更新的操作所组成的一个程序执行逻辑单元(Unit),狭义上的事务特指数据库事务. 事务的作用: 当多个应用程序并发访问 ...

  4. Java程序员:工作还是游戏,是该好好衡量一下了

    前阵子我终于下定决心,删掉了硬盘里所有的游戏. 身为一个程序猿,每天都要和各种新技术打交道,闲暇时间,总还得看一下各大论坛,逛逛博客园啥的,给自己充充电.游戏的话,其实我自小就比较喜欢,可以算是一种兴 ...

  5. .NET设计模式访问者模式

    一.访问者模式的定义: 表示一个作用于某对象结构中的各元素的操作.它使你可以在不改变各元素类的前提下定义作用于这些元素的新操作. 二.访问者模式的结构和角色: 1.Visitor 抽象访问者角色,为该 ...

  6. BridgePattern(桥接模式)

    /** * 桥接模式 * @author TMAC-J * 应用于多维度方案 * 用组合的形式代替继承 * 符合单一职责原则 * 一个类只有一个引起他变化的原因 * 增加程序灵活性 */ public ...

  7. 如何理解DT将是未来IT的转型之路?

    如今的IT面临着内忧外患的挑战. 一方面,企业多多少少都建立了信息化,有些企业或集团甚至会有数几十个分公司,包含直销.代理.零售以及第三方物流等多种业态.越是复杂的业务,信息化建设越困难,比如运用大量 ...

  8. Oracle-BPM安装详解

    H3 BPM安装包括两个部分,基础工作包括安装IIS..net Freamwork基础框架.安装完成之后,主要配置安装包括数据库,H3 BPM 程序.下面详细介绍Oracle与H3 BPM对接安装的整 ...

  9. 【SAP业务模式】之ICS(七):IDOC配置

    这是ICS业务模式系列的最后一篇了,主要讲解IDOC的配置. 一.指定EDI传输的供应商逻辑地址 事务代码:WEL1 注意:上面逻辑地址是生产公司+内部客户.有以下两种情形: 1.如果内部客户都是纯数 ...

  10. A*算法应用[转]

    转自:http://www.cnblogs.com/zhoug2020/p/3468167.html 这是一篇十分精彩/易懂的博客,感谢原博主!本文通过自己的理解在原博文基础上突出一些重点字眼,句子. ...