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            ##恢复全部

时间: 2024-10-06 04:24:26

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

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

周五篮球群里有人问误删文件了怎么恢复,得知是ext4文件系统之后我推荐了ext4magic这个工具,然后又有人提到了xfs的话怎么办,正好前几天看到Dave Chinner在邮件列表里提到了这个问题,他推荐的工具是xfs_irecover.这里就稍微总结一下Linux下误删文件如何恢复. 1. 当发现误删了文件之后,立即把文件系统卸载掉,或者remount成ro状态,就是不要再写了,让数据不要被其他数据覆盖.因为大部分文件系统在删除文件的时候只是把这个文件标记成删除,把文件所使用的数据块标记成可

浅析Linux文件(一)inode与block、硬链接与软链接、恢复误删文件

一.inode与block 1.inode和block概述 文件数据包括元信息与实际数据,一个文件必须占用一个inode,但至少占用一个block. 扇区:文件存储在硬盘上,硬盘的最小存储单位是扇区,每个扇区存储空间是512字节.block(块):连续的八个扇区组成一个block,block是文件存取的最小单位,用来存储文件数据.inode(索引节点):也叫i节点,用于存储文件元信息. 2.inode的理解 (1)inode包含文件元信息: 文件的字节数 文件拥有者的User ID(UID) 文

利用winhex恢复误删文件

无意中发现一款软件winhex,没想到竟然还有恢复误删文件的功能.下面让我演示如何操作吧! 首先,下载这款软件的压缩包,解压就好了,目录下有个winhex.exe,直接点击就可以运行了,如果你想删除winhex软件,容易,把整个解压的目录删除掉就OK了! 运行界面 首先,我在D盘建了个文件夹叫"测试",再建立一个文本文档叫123.txt(反正就演示,取名简单点)再瞎写些内容,保存后直接删掉,我使用的是360强力删除,也就是永久性删除,在回收站找不到的. 到此,准备工作完成. 在已经打开

git多人合作时,恢复误删文件

一开始比较慌,下意识里就想到用reset和push -f重置版本并强制推送到远程库,经过实验发现这样做只能保证自己的本地库和远程库回到之前一个版本,而其他人想通过git pull同步是无效的,远程库版本已经低于其他人的本地库版本,这时候难道让其他人都删除版本库重新从远程库克隆?得不偿失. 然后就想,能不能从之前的版本中检出这个文件,然后重新添加到版本库中?再作为一个新的提交来挽救? 经实验室可以的,过程如下: git checkout HEAD^ -- a.txt HEAD^ 代表上一次提交,

linux恢复误删文件

恢复Linux下误删除的文件删除文件和文件夹rm -rf 文件名或目录名-r 递归删除(可以删除目录和目录里面的东西)-f 强行删除 ext4文件系统上删除文件,可以恢复: extundeletewindows恢复误删除的文件: final data v2.0 汉化版 和 easyrecovery Linux文件系统由三部分组成:文件名,inode,block a.txt -->inode -> block文件名 存放文件元数据信息 真正存放数据 查看inode号:常识: 每个文件,最少有一个

Linux中用extundelete恢复误删文件

一.实验前需知1.extundelete是一个用来恢复ext3,ext4分区文件的工具,他会利用分区中的日志信息尝试恢复被删除的文件,但是,并非每个被删除的文件都能确保被恢复,所以,重要的文件大家还是要做好备份.下面进行一个小实验模拟文件误删,使用extundelete进行恢复2.此实验需准备两块硬盘,注意不要将extundelete安装到误删文件所在的硬盘二.开始试验1.此实验需准备两块硬盘,除虚拟机原本一块硬盘,再添加一块硬盘,添加完成重启生效2.用fdisk命令给新添加的磁盘划分分区之后格

恢复误删文件

恢复误删除文件 在数据被误删除后,第一时间要做的就是卸载被删除数据所在的分区,如果是根分区的数据遭到误删,就需要将系统进入单用户模式,并且将根分区以只读模式挂载.这样做的原因很简单,因为将文件删除后,仅仅是将文件的inode节点中的扇区指针清零,实际文件还储存在磁盘上,如果磁盘继续以读写模式挂载,这些已删除的文件的数据块就可能被操作系统重新分配出去,在这些数据库被新的数据覆盖后,这些数据就真的丢失了,恢复工具也无力回天.所以!以只读模式挂载磁盘可以尽量降低数据库中数据被覆盖的风险,以提高恢复数据

硬盘误删除文件恢复工具,怎样恢复误删文件

硬盘误删除文件恢复工具,硬盘是个最为常见的数据存储设备了,不管是电脑上的硬盘还是移动硬盘,其中的重要文件都非常之多,如果在执行文件操作的时候不小心误删了文件该怎么恢复呢? 如果说在电脑上对文件执行的普通删除的话,那么可以到回收站中查看是否有相关的文件存在,如果有的话进行还原操作即可,如果未找到的话,可以通过下述的方式来进行恢复工作的哦. 教程一:互盾数据恢复软件 第一步:打开常用电脑的浏览器找到[互盾数据恢复软件]的安装包,之后点击[立即安装]完成后续的恢复工作. 第二步:之后运行软件,界面上有

extundelete工具恢复误删文件

1.安装依赖包(e2fsprogs,e2fsprogs-libs,e2fsprogs-devel) # yum -y install e2fsprogs* 2.下载并安装extundelete-0.2.4.tar.bz2 # wget http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2  # tar -jxvf extundelete-0.2.4.tar.bz