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] 恢复文件
准备工作
[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 恢复误删文件的更多相关文章
- Linux下恢复误删文件:思路+实践
周五篮球群里有人问误删文件了怎么恢复,得知是ext4文件系统之后我推荐了ext4magic这个工具,然后又有人提到了xfs的话怎么办,正好前几天看到Dave Chinner在邮件列表里提到了这个问题, ...
- eclipse如何恢复误删文件
刚刚真的要吓死宝宝了,不是说宝宝心里素质差,是因为刚刚误删的文件实在是太重要了,废话不多说了,正题 如何恢复eclipse误删的文件 1,当时被误删了,可立即 Ctrl+z 即可恢复误删文件; 2,时 ...
- 【转载】恢复误删文件--DOS命令应用实例(一)
<电脑爱好者>报转载第一辑第二篇之恢复误删文件--DOS命令应用实例(一) 恢复误删文件--DOS命令应用实例(一) 上期我们讲述了 ...
- Linux之恢复误删除文件
前言每当我们在生产环境服务器上执行rm命令时,总是提心吊胆的,因为一不小心执行了误删,然后就要准备跑路了,毕竟人不是机器,更何况机器也有 bug.那么如果真的删除了不该删除的文件,比如数据库.日志或执 ...
- lsof恢复误删文件
用 lsof 恢复 误删除文件实验: 先模拟一个进程: [tiger@root:/home/tiger]$ echo "hello deletede" >> test. ...
- Linux之恢复误删的文件[针对丢弃到回收站]
1.丢弃到回收站(非RM)掉的文件一般在目录~/.local/share/Trash/files/下: 2.如何恢复呢? 原理很简单,既然它们还在,要么copy,要么移动到一个新的地方即可嘛. //以 ...
- git恢复误删文件及省去密码提交
自己遇到这种情况:自己将某文件在网页的控制面板上直接删除了,再pull下来.或者一个成员误删除了某个文件,然后push到远程库了,其他成员也都pull了,结果就是所有人的本地库当前版本中这个文件都不见 ...
- Linux - rm 修复误删文件
fdisk -l # 分区信息lsblk -f # 查看文件类型/etc/fstab # 查看文件格式挂载启动信息 # debugfs针对 ext2 # ext3grep针对 ext3 # extun ...
- 如何有效恢复误删的HDFS文件
HDFS是大数据领域比较知名的分布式存储系统,作为大数据相关从业人员,每天处理HDFS上的文件数据是常规操作.这就容易带来一个问题,实际操作中对重要数据文件的误删,那么如何恢复这些文件,就显得尤为重要 ...
随机推荐
- 浅谈 jQuery 核心架构设计
jQuery对于大家而言并不陌生,因此关于它是什么以及它的作用,在这里我就不多言了,而本篇文章的目的是想通过对源码简单的分析来讨论 jQuery 的核心架构设计,以及jQuery 是如何利用javas ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(68)-微信公众平台开发- 资源环境准备
系列目录 前言: 本次将学习扩展企业微信公众号功能,微信公众号也是企业流量及品牌推广的主要途径,所谓工欲善其事必先利其器,调试微信必须把程序发布外网环境,导致调试速度太慢,太麻烦! 我们需要准备妥当才 ...
- .NET Core的日志[5]:利用TraceSource写日志
从微软推出第一个版本的.NET Framework的时候,就在“System.Diagnostics”命名空间中提供了Debug和Trace两个类帮助我们完成针对调试和跟踪信息的日志记录.在.NET ...
- SQL Server-聚焦计算列或计算列持久化查询性能(二十二)
前言 上一节我们详细讲解了计算列以及计算列持久化的问题,本节我们依然如前面讲解来看看二者查询性能问题,简短的内容,深入的理解,Always to review the basics. 持久化计算列比非 ...
- 餐饮连锁公司IT信息化解决方案一
从餐饮企业的信息化需求来说,没有哪一种解决方案能满足所有餐饮企业的信息化建设需要.不同的餐饮业态有不同的业务流程,不同业态的信息化解决方案是目前餐饮企业信息化建设急需的,这种一站式整 ...
- 使用Microsoft的IoC框架:Unity来对.NET应用进行解耦
1.IoC/DI简介 IoC 即 Inversion of Control,DI 即 Dependency Injection,前一个中文含义为控制反转,后一个译为依赖注入,可以理解成一种编程模式,详 ...
- HTML 5 应用程序缓存manifest
什么是应用程序缓存(Application Cache)? HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问. 应用程序缓存为应用带来三个优势: 离线浏 ...
- ORA-00821: Specified value of sga_target 3072M is too small, needs to be at least 12896M
在测试PlateSpine克隆的数据库服务器时,由于资源有限,克隆过来的数据库服务器只给了9G的内存,结果在测试时,老是会出现OOMkiller导致宕机,即out of memory killer,是 ...
- Linux实战教学笔记03:操作系统发展历程及系统版本选择
标签(空格分隔): Linux实战教学笔记-陈思齐 第1章 Linux简介 1.1 什么是操作系统? 简单讲:操作系统就是一个人与计算机硬件的中介. 操作系统,英文名称Operating System ...
- Spring Security OAuth2 开发指南
官方原文:http://projects.spring.io/spring-security-oauth/docs/oauth2.html 翻译及修改补充:Alex Liao. 转载请注明来源:htt ...