Linux-Rhel6 恢复误删文件

Posted Dëm0n

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux-Rhel6 恢复误删文件相关的知识,希望对你有一定的参考价值。

 

需要工具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] 恢复文件


准备工作

[[email protected] ~]#mount /dev/cdrom /mnt/      ###挂载光盘到mnt目录下
  
[[email protected] ~]# 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‘ 保存分区设置

[[email protected] ~]#reboot                      ###重启后生效

[[email protected] ~]#mkdir /tmp/sda4             ###为新分区创建挂载点

[[email protected] ~]#mkfs.ext4 /dev/sda4     ###格式化sda4分区为ext4的文件系统分区

[[email protected] ~]#mount /dev/sda4 /tmp/sda4   ###挂载sda4分区

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

[[email protected] ~]#echo $?              ###查看命令是否执行成功

[[email protected] ~]#cd /tmp/sda4                ###进入sda4分区



删除文件

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

[[email protected] sda4]##cp /etc/passwd /tmp/sda4     ###拷贝文件到sda4

[[email protected] sda4]##touch /tmp/sda4/a.txt          ###创建文件

[[email protected] sda4]##vim /tmp/sda4/a.txt          ###编辑文件

[[email protected] sda4]##mkdir -p /aa/bb/cc           ###创建目录 -p创建父目录

[[email protected] sda4]##cp /tmp/sda4/a.txt /tmp/sda4/aa/

[[email protected] sda4]##cp /tmp/sda4/a.txt /tmp/sda4/aa/bb

开始删除

[[email protected] sda4]##ls /tmp/sda4/                   ###查看有哪些文件

[[email protected] sda4]##mkdir /tmp/back           ###创建备份夹

[[email protected] sda4]##mkdir /tmp/sda4/* /tmp/back/      ###备份
  
[[email protected] sda4]##ls !$                        ###‘!$‘表示上次命令最后一个参数也就是/tmp/back

[[email protected] sda4]##rm -rf passwd a a.txt                ###删除文件

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


安装工具

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

[[email protected] sda4]#cd                                 ###退出分区

[[email protected] ~]#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))


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

[[email protected] soft]# cd extundelete-0.2.4

[[email protected] extundelete-0.2.4]# ls                      ###可以看到有configure的文件

[[email protected] extundelete-0.2.4]# configure               ###检查环境

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

[[email protected] extundelete-0.2.4]# cd /mnt/Packages/           ###打开光碟的安装包下载环境

[[email protected] Packages]# ls ext2fs                   ###没找到
ls: 无法访问ext2fs: 没有那个文件或目录

[[email protected] Packages]# ls *2fs*                   ###缩小范围查找类似

[[email protected] Packages]# uname -m                   ###查看操作系统位数

[[email protected] 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

[[email protected] Packages]#rpm -ivh e2fsprogs-devel-1.41.12-12.el6.x86_64.rpm

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

[[email protected] Packages]#cd  -

[[email protected] extundelete-0.2.4]# ./configure         ##检查安装环境

[[email protected] extundelete-0.2.4]#  make          ##编译

[[email protected] extundelete-0.2.4]#  make install       ##安装


开始恢复

[[email protected] extundelete-0.2.4]# cd ~/test

[[email protected] 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

[[email protected] test]# extundelete /dev/sda4 --restore-inode 12          ##恢复lookd.bat到当前目录

[[email protected] test]# diff RECOVERED_FILES/file.12 /tmp/back/lookd.bat  ##对比备份文件是否一致

[[email protected] test]# extundelete /dev/sda4 --restore-filenames hosts   ##以文件名恢复

[[email protected] test]# extundelete /dev/sda4 --restore-directory         ##以目录恢复

[[email protected] test]# extundelete /dev/sda4 --restore-all            ##恢复全部




































































































































































































以上是关于Linux-Rhel6 恢复误删文件的主要内容,如果未能解决你的问题,请参考以下文章

怎么恢复误删的文件?

Linux系统:第十三章:centos误删文件如何恢复文件数据

Linux系统:第十三章:centos误删文件如何恢复文件数据

如何恢复被win10自带的杀毒软件误删的文件

求助,mongodb如何恢复误删数据

文件误删如何恢复