rm-rf执行以后,怎么办

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rm-rf执行以后,怎么办相关的知识,希望对你有一定的参考价值。

记得我当时也犯过这个错误 rm -rf /*
傻傻的盯着屏幕看。。。
还好当时是在自己的虚拟机里,没什么数据,打镜像恢复回来就好了。今天看到这篇文章,备用!嗯 是的 万一哪天脑抽了
----------------- 登录客户的服务器,一定要谨慎操作,尽量rm ,就别rm -rf show一把了。-----------------------
环境介绍: 系统版本:CentOS release 5.4 (Final)

1 安装之前先检查有没有这个包: rpm -qa | grep e2fsprogs
2 ext4grep 是个源码包,需要编译安装

检查一下e2fsprogs包是否完整,我的却一个-devel的包,所以要先yum install e2fsprogs* 我偷懒了嘿嘿

解压ext3源码包

进入源码包,然后开始检查包的完整性 执行: ./configure 如果在这个过程中到最后有error那么先检查你的是不是少 e2fsprogs-devel

在进行 make && make install (编译 编译安装) 一般这里不会有问题如果这里报错了 检查你系统是不是缺少 gcc gcc-c++ 这俩包 你可以 yum install gcc* 全部安装 有好处没有坏处哈哈哈

等待完整完,,好了安装完以后。可以先查看一个是否完成成功了,用: ext3grep -v 命令查看ext3的版本信息如下如:

当然如果不知道命令怎么用可以输入:ext3grep --help 查看
然后我需要手动创建一个分区, 创建命令: fdisk /dev/sda 这个因为没有办法保存图像所有我直接显示的创建完成以后的。如果大家不知道怎么创建 可以查看我的 linx基本命令(文件系统章节)。
然后 把这个分区y用ext3分区格式格式化 并且挂载到mnt目录下。

然后 我进入了挂载的目录里, 创建了xcy目录, 把/etc/passwrd 和 /etc/my.cnf 俩个文件复制到了/mnt/xcy目录中,并且 把俩个文件改了下名字 为了我的辨认。 最后我执行了 rm -rf /xcy/* 把xcy文件中的文件都删除了。

咳咳,然后我首先做的是卸载下来 把挂载的分区,因为 怕别人动了我的文件夹 在里面复制了东西我就没有办法恢复了,在下面我执行:ext3grep /dev/sda5 --ls --inode 2 给你们解释一下
ext3grep 删除文件的分区 --ls --innode inode号
为什么最后我们要写2 因为我不知道我的删除的文件的inode号多少, 所有我写的是最大的inode / 的inode号 可以用: ls -id / 查看
执行下去以后就会看到 他在刷帮你找删除的文件们。。
继续走,,扫到最后我们想要知道的文件夹的inode号是2099 然后我们继续执行扫描命令: ext3grep /dev/sda5/ --ls --lnode 2009 这个命令他就会扫 xcy目录下的所有文件(包括删除 还有没有删除文件的inode号了) ,然后我们就可以扫除来了,my.cnf.xcy innode号 是2011 passwd.xcy 文件的inode号 是2010
现在我们的目标马上就要达到了,知道了俩个文件的inode号 就可以进行恢复了.然后我们执行 ext3grep /dev/sda5 --restore-inode 2011 (恢复my.cnf.xcy文件)我们在执行 ext3grep /dev/sda5 --restore-inode 2010 (恢复passwrd.xcy文件)
然后我们将卸载的文件系统重现挂载上去。

恢复了,文件不会在原来的位置,他会自动在/ 下创建一个叫RESTORED_FILES 目录 你以后所有恢复的文件都会在这里保存着,还有文件的名字是以inode号命名的 你需要手动修改回来原名字,不要怕不知道那个文件是那个,还记得我们 --ls 扫描的时候他都有对应的文件和inode号

文件恢复了,哈哈 是不是很激动啊,解决了liunx 下不能恢复的问题,这样就可以大大节约成本 不用找硬盘恢复工具 不用花钱了, 对了还有呢, 这个同样可以恢复 mysql 数据库 误操作删除了库或者表 都可以恢复 原理嘛 其实就是恢复相对应的mysql数据库中的文件了,自己尝试一下吧,
参考技术A

一般发生类似操作之后,关闭系统,或者umount分区(镜像分区),然后通过一些反删除软件或者一些专业工具进行处理:extundelete恢复Linux被删除文件

xfs删除数据文件恢复

参考技术B 跑路,哈哈😄😄

以上是关于rm-rf执行以后,怎么办的主要内容,如果未能解决你的问题,请参考以下文章

rm-rf无法删除文件夹

Layer怎么让按钮的回调方法执行完以后不自动关闭

c语言,命令执行完以后怎么返回选择菜单

svn用户名密码忘记了怎么修改

怎么在winform窗体加载完以后再执行某个事件

Android3.0以后,Asynctask在没开线程池的情况下会怎么排队执行