精华内容
下载资源
问答
  • 果真感觉蛋疼了,欲哭无泪啊!写了一天的成果,想着把之前备份...说了这么多,教教大家执行了rm命令后 该这么办吧,是有办法回复的,我刚经过试验证实了,google有一个开源的包 叫ext3grep工具他可以回复删除的文件...

    果真感觉蛋疼了,欲哭无泪啊!写了一天的成果,想着把之前备份的文件删除呢,结果把刚写完的删了。

    国外著名linx管理员守则中有这么一条:“慎用rm -rf命令,除非你知道此命令将带来什么后果。” 可见这个命令的重要性啊,书中看到的这句话,确实很对。

    说了这么多,教教大家执行了rm命令后 该这么办吧,是有办法回复的,我刚经过试验证实了,google有一个开源的包 叫ext3grep工具他可以回复删除的文件,甚至是drop database xcy; 对,就是误删除的数据库都可以回复。

    先说一下他的工作原理吧,然后我在把试验分享给大家, 工作原理其实也不难,这个工具需要在ext3或者ext4 的文件系统上才可以实现,因为ext3文件系统是日志型文件系统,ext3文件系统储存信息的时候是由inode号和block块存储的。

    神马? 不知道什么是inode号?和block块? 好吧,在说明白点,比如:一个分区比如一本书,那么block块就是书每页的内容,而inode号 就是书的目录,系统找文件的时候先找inode号 然后根据inode号去找硬盘上的block快信息,明白了吧!

    在说一下删除的原理吧。 当硬盘上的一个文件删除,其实没有真正想象中的那样在硬盘上清除掉的,他是把inode号和block块的那个链子 断开,但是真正的数据还是在硬盘上的,有没有感觉在windos上删除是那么快,没考虑到这吧,当你在删除文件的地方重新复制了新文件,那时候才会把之前的文件覆盖掉,也就是说删除了没有关系,千万不要往那个位置放文件了。

    原理说完了,开始实战。

    环境介绍: 系统版本: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数据库中的文件了,自己尝试一下吧,

    对了在说一下,我截图中 圈起来了是正确的命令,别的很多有操作错误的,因为毕竟第一次试验吗。。成功了很高兴,,希望能帮到和我同样遭遇的朋友们。

    最后来个总结缺点: 我试验发现这个功能有些缺点:

    1 条件必须是ext3 ext4 日志文件系统才可以做到,别的我就不清楚了。

    2 我这个是自己创建的分区/dev/sda5 也就是说我知道删除的文件在那个分区上,假如你删除了文件知道在哪里分区中 那么你就需要从sda1 ....sdaN 都试一遍吧,,,,。

    有什么问题可以留言 联系我 我看到了可以帮大家解决。。。

    展开全文
  • Linux下的rm命令太可怕了,一不小心 rm -rf / 那就悲剧了,请慎用rm -rf。如果一不小心删除重要文件,后续不对该路径文件操作,可以通过相关命令找回被删文件。原理主要是删除的文件并没有实际上从硬盘上抹去,只是...

    Linux下的rm命令太可怕了,一不小心 rm -rf / 那就悲剧了,请慎用rm -rf。

    如果一不小心删除重要文件,后续不对该路径文件操作,可以通过相关命令找回被删文件。

    原理主要是删除的文件并没有实际上从硬盘上抹去,只是inode索引删除了相关的信息(单链表节点删除实现),因此只要找到刚删除文件的block上,就可以恢复已经删除的文件。

    一. 查看分区

    df -T

    Filesystem Type 1K-blocks Used Available Use% Mounted on

    /dev/sda1 ext4 41284928 38206612 981164 98% /

    tmpfs tmpfs 1961248 10240 1951008 1% /dev/shm

    /dev/sda5 ext4 119724260 6428840 107213784 6% /data

    /dev/sda2 ext4 41284928 799900 38387876 3% /usr/local

    二. ext3

    sudo debugfs

    open /dev/sda1 #打开分区

    ls -d /home/test/src#显示该目标删除文件inode

    819307 (12) . 819306 (4084) ..

    <790528> (4072) bosstest.cpp

    <792294> (4052) btest.cpp

    <792214> (4032) qwd_kettas.pb.cc

    logdump -i <790528>#查看该文件日志内容

    ...

    [blocks] 12345 #12345为存放bosstest.cpp数据块地址

    sudo dd if=/dev/sda1 of=/tmp/my1.cpp count=1 skip=12345 #读取12345处数据至my1.cpp中

    三. ext4

    debugfs只能恢复ext3系统文件,extundelete支持ext3/ext4文件系统的恢复。

    sudo yum install -y e2fsprogs#安装依赖库

    sudo extundelete --inode 819203 /dev/sda1#查找指定目录下删除文件

    File name | Inode number | Deleted status

    . 819307

    .. 819306

    bosstest.cpp 790528 Deleted

    btest.cpp 792294 Deleted

    qwd_kettas.pb.cc 792214 Deleted

    sudo extundelete --restore-inode 790528 /dev/sda1#恢复指定inode文件,恢复文件在./RECOVERED_FILES

    sudo extundelete /dev/sda1 --restore-all#恢复/dev/sda1分区下所有文件

    大多数情况下,会出现以下提示:Unable to restore inode 792214 (file.792214): Space has been reallocated.  由于文件系统被覆盖,已经无法恢复文件。

    参考链接:

    http://extundelete.sourceforge.net/

    展开全文
  • 2.使用ls -l /proc/${process_id}/exe 查看执行了那个命令,使用rm -rf把命令删除,并使用kill -9 杀掉对接的进程 3.使用crontab -l 和 cat/var/spool/cron/root查到对应的自动回复job,删除对应的job 4.删除守护...

    1.使用top命令查到那个process占用CPU过高

    2.使用ls -l /proc/${process_id}/exe 查看执行了那个命令,使用rm -rf把命令删除,并使用kill -9 杀掉对接的进程

    3.使用crontab -l 和 cat /var/spool/cron/root查到对应的自动回复job,删除对应的job

    4.删除守护进程,例如job里面:
    CMD ((/usr/bin/rurtfa3||/usr/libexec/rurtfa3||/usr/local/bin/rurtfa3||/tmp/rurtfa3||curl -m180 -fsSL http://45.79.9.153:8000/i.sh
    把对应的rurtfa3 kill掉,之后把对应rurtfa3的命令删除

    注意:可以使用cat /var/log/cron 查看自动运行的历史

     

    展开全文
  • 点击上方“民工哥技术之路”,选择“设为星标”回复“1024”获取独家整理的学习资料!昨日推荐:每天学一个 Linux 命令(18):mv命令简介rm 命令用来删除指定的文件或目录,此命令...

    点击上方“民工哥技术之路”,选择“设为星标”

    回复“1024”获取独家整理的学习资料!

    昨日推荐:每天学一个 Linux 命令(18):mv

    命令简介

    rm 命令用来删除指定的文件或目录,此命令是一个危险的命令,操作前一定要再三确认是否正确,然后再执行操作步骤。

    默认情况,它是不能直接删除目录的,需要配合选项来删除。当使用 -r 或 -R 选项来执行 rm 时,它会递归删除任何匹配到的目录,且它们的子目录以及子目录下包含的所有文件。

    如需要针对文件扩展名字符匹配来删除多个文件时,rm 命令需要使用 -i 选项来配合完成。使用这个选项时,系统会逐一提示你是否要删除文件,当你输入y并按Enter键,文件就会被删除,反之,则文件不会被删除。

    语法格式

    rm [选项] 文件或目录
    mv [options] FILE DIRECTORY
    

    选项说明

    -d:#把要删除的目录的硬连接数量变成0,删除该目录
    -f:#强制删除文件或目录
    -i:#删除之前提示用户是否删除
    -r或-R:#递归处理
    --preserve-root:#不对根目录进行递归操作;
    -v:#显示指令的详细执行过程。
    

    应用举例

    删除文件test.txt和文件test1.txt前进行确认是否删除,删除命令如下

    [root@test ~]# rm -i test.txt test1.txt 
    rm: remove regular file ‘test.txt’? y
    rm: remove regular file ‘test1.txt’? y
    #输入y确认删除
    

    删除/test目录下所有目录,并删除前不进行确认。删除命令如下。

    [root@test ~]# rm -rf /test/
    [root@test ~]# ls /test
    ls: cannot access /test: No such file or directory
    

    每天学一个 Linux 命令(17):chmod

    每天学一个 Linux 命令(16):mkdir

    每天学一个 Linux 命令(15):man

    推荐阅读 点击标题可跳转

    996 违法???真相是这样的。。

    微信出硬件了!或于春节上线

    淦!又是美团。。。。这次吃相很难看

    全球最大色情网站宣布:封杀特朗普

    分布式存储 GlusterFS 介绍与部署

    红旗 Linux 桌面操作系统 11 来了

    Redis 6.0 集群搭建实践

    华为悄悄推出"应用市场",免费、无广告,贼好用!

    展开全文
  • 点击上方“朱小厮的博客”,选择“设为星标”后台回复"加群",加入新技术群在Linux,你是不是曾经天真的以为,使用rm删除一个文件,占用的空间就释放了?事情可能不是常常如...
  • 果真感觉蛋疼了,欲哭无泪啊!写了一天的成果,想着把之前备份的文件删除呢,...说了这么多,教教大家执行了rm命令后 该这么办吧,是有办法回复的,我刚经过试验证实了,google有一个开源的包 叫ext3grep工具他可以...
  • 下面介绍具体方法:先说下我准备删除的文件为/root/silencewolf/silencewolf.sh 里面内容如下: 执行rm -f silencewolf.sh,用ls查看文件夹为空了 下面开始恢复文件,具体操作如下:1、输入debugfs,打开debugfs功能...
  • 进微信群回复公众号:微信群;QQ群:460500587教程列表见微信公众号底部菜单 |本文底部有推荐书籍微信公众号:计算机与网络安全ID:Computer-network作为一名运维人员,对这个错误并不陌生,在执行rm、cp、mv等命令...
  • Linux命令

    2019-07-22 11:16:09
    Ls 查看目录下的文件 Ls -a 显示隐藏文件 Ls -l/lh 查看文件大小和权限 ...Rm -f 删除不能回复 find / -name file1 从 ‘/’ 开始进入根文件系统搜索文件和目录 find / -name *.rpm -exec chmod 755 ‘{}’ ;...
  • 最近发现一个好玩的东西,就是通过rm删除MySQL一个表的idb文件,发现我查这张表的时候数据还是可以查的,好奇怪怎么可以这样????发现几个概念:文件系统与硬盘存储、inode节点、硬盘结构、Linux如何访问文件、...
  • learning linux

    2007-02-24 14:51:00
    刚刚学了两天linux,以前常挂在嘴边,常...那天遇到一个问题就是不能用rm命令来删除文件,后来在csdn的论坛里提出了自己的疑问,立刻就有了回复,方法是 export lang=C ,然后就能运行rm命令了。是字符集的问题。虽
  • Linux基础命令2

    2019-04-11 21:28:08
    陈银刚 2019/04/11 9:26 1.ls 列出当前目录下的所有文件 ...rm 文件名 执行命令后询问是否删除 回复 y(yes)或n(no)决定是否删除 6.cat cat 文件名 查看文件内容 7.clear 清屏 8.su 切换用户 9.t...
  • 使用rm命令要小心,因为一旦文件被删除回复比较困难。为了防止这样的情况发生,可以使用i选项来确认要不要删除rm -ri (文件名) windows操作系统应用较多 但是运行和稳定性有缺点 mac适合于开发人员 linux应用...
  • 点击上方“开源Linux”,选择“设为星标”回复“学习”获取独家整理的学习资料!1、删除0字节文件find -type f -size 0 -exec rm -rf {} \; 2、查看...
  • 今天遇到了悲剧,所以就...删除掉了就想到了恢复,然后又想到回复文件是linux下很值得研究的一个方面,所以就有了这个系列。 先做个标记,哪天有时间了,开始写吧。 ext3下恢复文件用到的工具有ext3grep,但是好像...
  • 回复的时候,回复的方法跟数据库的版本关系不大(因为是物理文件),只是跟操作系统有一定的关系,如:Red hat Linux , Solaris Linux 等等。   下面进行演示: 删除users表空间. 1、我们首先进入Sqlplus
  • 误删Oracle数据文件的恢复方法

    千次阅读 2012-05-16 09:39:25
    今天尝试了一下,在Linux删除一个数据文件,然后进行回复。 环境:数据库在Open的状态,然后rm -rf users.dbf (删除users表空间),最后找回users.dbf文件。 在回复的时候,回复的方法跟数据库的版本关系...
  •  很久以来,就想写一篇关于ext 家族文件系统的文章,源于我刚工作的时候,曾经一不小心rm -rf,误删除了很多文件,当时真想有个数据恢复软件能帮我把数据回复了。当然学习数据恢复,首先要学习文件系统。最近工作...
  • 很久以来,就想写一篇关于ext 家族文件系统的文章,源于我刚工作的时候,曾经一不小心rm -rf,误删除了很多文件,当时真想有个数据恢复软件能帮我把数据回复了。当然学习数据恢复,首先要学习文件系统。最近工作原因...
  • 深入解析 ext2 文件系统

    千次阅读 2016-08-15 11:16:40
    很久以来,就想写一篇关于ext 家族文件系统的文章,源于我刚工作的时候,曾经一不小心rm -rf,误删除了很多文件,当时真想有个数据恢复软件能帮我把数据回复了。当然学习数据恢复,首先要学习文件系统。最近工作原因...
  • ext2文件系统

    2018-02-13 20:28:00
    很久以来,就想写一篇关于ext 家族文件系统的文章,源于我刚工作的时候,曾经一不小心rm -rf,误删除了很多文件,当时真想有个数据恢复软件能帮我把数据回复了。当然学习数据恢复,首先要学习文件系统。最近工作原因...
  • 深入了解EXT2原理

    2013-06-14 15:50:23
    很久以来,就想写一篇关于ext 家族文件系统的文章,源于我刚工作的时候,曾经一不小心rm -rf,误删除了很多文件,当时真想有个数据恢复软件能帮我把数据回复了。当然学习数据恢复,首先要学习文件系统。最近工作原因...
  • $ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 3、安装 //安装最新版本 $ sudo yum install docker-ce //或者安装指定版本 $ yum list docker-ce --...

空空如也

空空如也

1 2
收藏数 33
精华内容 13
关键字:

linuxrm删除回复

linux 订阅