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误删文件如何恢复文件数据