linux rm误删文件怎么恢复,linux不小心rm-f删除的文件怎么恢复

linux rm误删文件怎么恢复,linux不小心rm-f删除的文件怎么恢复,linux环境下恢复rm误删的文件方法

大家好,本文主要讲linux环境下恢复误删rm文件的方法。有兴趣的同学过来看看,如果对你有帮助记得收藏。

目录

前言:rm之后还有救吗?使用foremost来检索文件,使用extundelete来检索文件,以防止意外删除造成的事故。

前言

说到linux环境下删除文件,绝对离不开sudorum-rf/*。每次看到这个命令,我都会想到一个恶搞的画面:

这个“清理垃圾”的解释真的是“恰到好处”。据说小白在论坛上提问,被开玩笑地回复了sudorum-rf/*命令。结果问题解决了,人也告别了~

从删库到跑路,每天都有坐牢的一招,所以一定要谨慎使用rm -rf命令,相当于在Windows上使用Shift Delete组合。文件不会放入回收站,而是直接永久删除。在Linux中执行rm命令相当于永久删除。

虽然sudo rm -rf /*极其危险,但我们很少直接编写它,而是经常使用rm命令。那不就前几天硬写的Shell脚本被我rm -rf直接删了吗?还好我之前把内容打印到了控制台上,不然整个脚本就白写了。

rm之后还有救吗

rm命令虽然表示永久删除,但并不代表找不到文件,只是找到的几率有大有小。实际上,delete命令只是将文件节点标记为删除,并没有真正清除文件内容。如果立即删除文件并恢复,成功的概率还是很高的。但是,如果其他用户一直在使用这台机器,或者一直在执行磁盘写入的一些过程,这部分数据可能很快就会被覆盖。这个时候,基本上不可能恢复文件了。

使用foremost找回文件

Most是一个命令行工具,根据文件的头尾信息和文件的内置数据结构来恢复文件。接下来,安装和恢复的步骤是:

安装在最前面

CentOS系统可以直接运行sudo yum install https://forensics.cert.org/centos/cert/7/x86 _ 64//most-1 . 5 . 7-13.1 . el7 . x86 _ 64 . rpm-y命令完成。

如果是Ubuntu系统,请尝试命令:sudo apt install most。

[root @ VM-0-3-centos ~]# sudo yum install https://forensics . cert . org/centos/cert/7/x86 _ 64//foremost-1 . 5 . 7-13.1 . el7 . x86 _ 64 . rpm-y

加载的插件:fastestmirror,langpacks

配置中不止一次列出了存储库epel

最重要的-1 . 5 . 7-13.1 . el7 . x86 _ 64 . rpm | 46 kB 00:00:01

正在检查/var/tmp/yum-root-XJIfxM/foremost-1 . 5 . 7-13.1 . el7 . x86 _ 64 . rpm:foremost-1 . 5 . 7-13.1 . el7 . x86 _ 64

标记要安装的/var/tmp/yum-root-XJIfxM/foremost-1 . 5 . 7-13.1 . el7 . x86 _ 64 . rpm

解决依赖关系

-运行交易检查

-将安装Package foremost . x86 _ 64 0:1 . 5 . 7-13.1 . el7

-完成依赖关系解析

epel/7/x86_64 | 4.7 kB 00:00:00

epel/7/x86 _ 64/group _ gz | 96 kB 00:00:00

epel/7/x86 _ 64/update info | 1.0 MB 00:00:00

epel/7/x86 _ 64/primary _ db | 7.0 MB 00:00:01

extras/7/x86_64 | 2.9 kB 00:00:00

extras/7/x86 _ 64/primary _ db | 243 kB 00:00:00

操作系统/7/x86_64 | 3.6 kB 00:00:00

更新/7/x86_64 | 2.9 kB 00:00:00

更新/7/x86 _ 64/primary _ db | 12 MB 00:00:01

依赖关系已解决

=====================================================================================================================

包拱门版本存储库大小

=====================================================================================================================

安装:

最前面的x86 _ 64 1。5 .7-13.1 .el7/最前面的-1.5.7-13.1.el7.x86_64 85 k

交易摘要

=====================================================================================================================

安装一个包

总大小:85 k

安装尺寸:85 k

下载软件包:

运行交易检查

运行事务测试

交易测试成功

运行事务

正在安装:最前面的-1.5.7-13.1.el7.x86_64 1/1

验证:最前面的-1.5.7-13.1.el7.x86_64 1/1

已安装:

最重要的。x86 _ 64 0:1。5 .7-13.1 .el7

完整!

[root@VM-0-3-centos ~]#

创建一个测试文件

[root@VM-0-3-centos ~]# echo '这是一个重要的文件重要. txt

[root@VM-0-3-centos ~]# pwd

/root

[root@VM-0-3-centos ~]# ls

连接tendis。非常重要。恢复目标列表测试。国际标准化组织

[root @ VM-0-3-centos ~]# mkdir-p/tmp/restore

删除文件后尝试还原

[root @ VM-0-3-centos ~]# RM重要。文本文件(textfile)

[root @ VM-0-3-centos ~]# foremost-I/dev/vda 1-o/tmp/restore/

正在处理:/dev/vda1

|**********分段故障

执行几分钟之后崩溃,恢复失败,打开目录查看发现:

[root @ VM-0-3-centos ~]# ls/tmp/restore/

审计。txt BMP doc exe htm jpg mov mpg pdf PPT rar sdw sxc sxw wav xls zip

avi dll docx gif jar mbd MP4 ole png pptx Rif sx sxi vis wmv xlsx

看来与需要恢复的文件类型有关,换台机器再换一个png文件试试,先找一个showball.png测试文件,然后确认分区/dev/vda1

[root@VM-0-3-centos ~]# df

文件系统1K-已用块可用使用百分比装载在

devtmpfs 930496 0 930496 0% /dev

tmpfs 941004 24 940980 1% /dev/shm

tmpfs 941004 508 940496 1%/运行

tmpfs 941004 0 941004 0%/sys/fs/cgroup

/dev/vda 1 51473868 6458344 42692404 14%/

/dev/loop 0 361650 361650 0 100%/mnt/iso

tmpfs 188204 0 188204 0%/运行/用户/0

[root@VM-0-3-centos ~]# pwd

/root

[root@VM-0-3-centos ~]# ls

恢复showball.png

删除png文件后尝试恢复,进度条结束后即可进入指定的目录/root/restore/查看

[root @ VM-0-3-centos ~]# RM showball.png

rm:删除常规文件showball.png的吗?y

[root@VM-0-3-centos ~]# pwd

/root

[root @ VM-0-3-centos ~]# foremost-t png-I/dev/vda 1-o/root/restore/

正在处理:/dev/vda1

|*********************************************************************************************|

在指定目录下会有一个audit.txt统计文件和一个类型文件夹png

[root @ VM-0-3-centos ~]# ll restore/

总计40

-rw-r-r-1根根24548 11月27日22:57 audit.txt

drwxr-xr - 2根根16384巴布亚新几内亚11月27日22:56

[root @ VM-0-3-centos ~]# CD restore/

[root @ VM-0-3-centos restore]# ll png

总计43764

-rw-r - r - 1根根3500 11月27日22:53 00367400.png

-rw-r - r - 1根根3578 11月27日22:53 00367408.png

-rw-r - r - 1根根3445 11月27日22:53 00367416.png

-rw-r - r - 1根368根11月27日22:53 00367432.png

-rw-r - r - 1根363根11月27日22:53 00367456.png

-rw-r - r - 1根根392 11月27日22:53 00367464.png

-rw-r - r - 1根199根11月27日22:53 00367616.png

.

png目录下的文件名都是一些编号,与原来删除的文件完全不一样了,需要根据audit.txt文件确认,打开文件确认一下:

[root @ VM-0-3-centos restore]#审计主管。文本文件(textfile)

杰西科恩布卢姆、克里斯肯德尔和尼克米库斯最重要的版本1.5.7

审计文件

最重要的开始于2021年11月27日星期六22:53:48

调用:foremost-t png-I/dev/vda 1-o/root/restore/

输出目录:/root/restore

配置文件:/etc/foremost.conf

-

文件:/dev/vda1

开始时间:2021年11月27日星期六22时53分48秒

[root @ VM-0-3-centos restore]# head-n 20 audit。文本文件(textfile)

杰西科恩布卢姆、克里斯肯德尔和尼克米库斯最重要的版本1.5.7

审计文件

最重要的开始于2021年11月27日星期六22:53:48

调用:foremost-t png-I/dev/vda 1-o/root/restore/

输出目录:/root/restore

配置文件:/etc/foremost.conf

-

文件:/dev/vda1

开始时间:2021年11月27日星期六22时53分48秒

长度:49 GB (53686025728字节)

编号名称(bs=512)大小文件偏移注释

0:00367400 . png 3 KB 188108800(16 x 16)

1:00367408 . png 3 KB 188112896(16 x 16)

2:00367416 . png 3 KB 188116992(16 x 16)

3:00367432.png 368 B 188125184

4:00367456.png 363 B 188137472

5:00367464.png 392 B 188141568

.

audit.txt文件中记录着恢复文件的简要信息,这需要你知道原来删除文件的相关信息,不然就只能一个个打开查看了,我是通过分辨率查找的

[root @ VM-0-3-centos restore]# grep ' 1217 '审核。文本文件(textfile)

116:12888200 . png 40 KB 6598758400(1217 x690)

360:38088960 . png 40 KB 19501547520(1217 x690)

根据过滤出的信息把12888200.png打开发现就是自己"误删"的文件这就恢复好了

使用extundelete找回文件

文本删除支持ext3、ext4文件系统下的文件恢复,使用卡特彼勒/etc/fstab可以在Linux操作系统操作系统环境下查看文件系统类型

[root @ VM-0-3-centos ~]# cat/etc/fstab

UUID=21 DBE 030-aa71-4b3a-8610-3b 942 DD 447 fa/ext 4 noa时间,acl,user_xattr 1 1

过程/过程过程默认值0 0

sysfs /sys sysfs noauto 0 0

调试文件系统/系统/内核/调试文件系统否自动0 0

devpts /dev/pts devpts mode=0620,gid=5 0 0

[root@VM-0-3-centos ~]#

安装依赖文件

[root @ VM-0-3-centos ~]# yum install e 2 fsprogs-devel

加载的插件:fastestmirror,langpacks

配置中不止一次列出了存储库epel

确定最快的镜像

epel | 4.7 kB 00:00:00

附加内容| 2.9 kB 00:00:00

操作系统| 3.6 kB 00:00:00

更新| 2.9 kB 00:00:00

(1/2):epel/7/x86 _ 64/更新信息| 1.0 MB 00:00:00

(2/2):epel/7/x86 _ 64/primary _ db | 7.0 MB 00:00:01

解决依赖关系

-运行交易检查

-将安装软件包e 2 fsprogs-devel。x86 _ 64 0:1。42 .9-19 .el7

-完成依赖关系解析

依赖关系已解决

===============================================================================================================

包拱门版本存储库大小

===============================================================================================================

安装:

e 2 fsprogs-devel x86 _ 64 1。42 .9-19 .el7操作系统73 k

交易摘要

===============================================================================================================

安装一个包

总下载大小:73 k

安装尺寸:162 k

这样可以吗[是/否]:是

下载软件包:

e 2 fsprogs-devel-1。42 .9-19 .el7。x86 _ 64。rpm | 73 kB 00:00:00

运行交易检查

运行事务测试

交易测试成功

运行事务

正在安装:e 2 fsprogs-devel-1。42 .9-19 .el7。x86 _ 64 1/1

正在验证:e 2 fsprogs-devel-1。42 .9-19 .el7。x86 _ 64 1/1

已安装:

e 2 fsprogs-devel。x86 _ 64 0:1。42 .9-19 .el7

完整!

[root@VM-0-3-centos ~]#

下载文本删除源码

[root @ VM-0-3-centos ~]# wget https://src。fedora项目。org/repo/pkgs/extend elete/extend elete-0。2 .4 .焦油。bz2/77e 626 ad 31433680 c0a 222069295 d2ca/extendelete-0。2 .4 .焦油。bz2

-2021-11-28 18:36:15-https://src。fedora项目。org/repo/pkgs/extend delete/extend delete-02 .4 .焦油。bz2/77e 626 ad 31433680 c0a 222069295 d2ca/extend删除-0。2 .4 .焦油。bz2

解决src.fedoraproject.org问题(src.fedoraproject.org).38.145.60.20 , 38.145.60.21

连接到src.fedoraproject.org(srcfedora项目。org)| 38。145 .60 .20 |:443.已连接。

超文本传送协议请求已发送,正在等待响应.200好吧

长度:108472(106k)[应用程序/x-bzip2]

正在保存到:"文本删除-0.2.4.tar.bz2 "

100%[========================================================]108,472 33.5KB/s在3.2秒

' 2021-11-28 18:36:20 (33.5 KB/s) -'文本删除-0.2.4.tar.bz2 '已保存[108472/108472]

[root@VM-0-3-centos ~]# ls

文本删除-0.2.4.tar.bz2

解压文本删除源码

[root @ VM-0-3-centos ~]# tar-jxvf extendelete-0。2 .4 .焦油。bz2

文本删除-0.2.4/

文本endelet-0。2 .4/AC包括。M4

文本删除-0 .2 .4/缺失

0.2.4/autogen.sh

文本endelet-0。2 .4/本地人。M4

文本删除-0 .2 .4/配置

文本删除-0 .2 .4/许可证

文本删除-0 .2 .4/自述文件

extenddelete-02 .4/install-sh

0 . 2 . 4/配置英寸

文本删除-0.2.4/src/

文本删除-0 .2 .4/src/文本删除。复写的副本

文本删除-0.2.4/src/block.h

extendelete-0。2 .4/src/kernel-jbd。h

文本endelet-0。2 .4/src/插入操作。复写的副本

0.2.4/src/block.c

文本删除-0.2.4/src/cli.cc

扩展删除-0。2 .4/src/扩展删除权限。h

扩展删除-0。2 .4/src/扩展删除。h

extendelete-0。2 .4/src/jfs _ compat。h

extendelete-0。2 .4/src/makefile。在

扩展删除-0。2 .4/src/makefile。是

扩展删除-0。2 .4/配置。交流电(alternating current)

文本删除-0.2.4/depcomp

0.2.4/Makefile.in

扩展删除-0。2 .4/makefile。是

[root @ VM-0-3-centos ~]# CD text endelet-0。2 .4/

[root @ VM-0-3-centos extend elete-0。2 .4]# ls

configure configure.ac depcomp中的交流包括。M4是当地人。M4自动发电机。sh配置。h

安装-sh许可证Makefile.am缺少自述文件科学研究委员会

[root @ VM-0-3-centos extend elete-0。2 .4]#

编译xtundelete源码安装

[root @ VM-0-3-centos extend elete-0。2 .4]#。/configure-prefix=/usr/local/extend删除生成生成安装

配置文本删除0.2.4

将生成的文件写入磁盘

品牌全递归

在科学研究委员会中制造所有产品

extundelete.cc:在函数' ext 2 _ ino _ t find _ inode(ext2_filsys,ext 2 _ fil sys,ext2_inode*,std:string,int)'中:

extendelete。抄送:1272:29:警告:在{ } [-Wnarrowing]内将"搜索标志"从" int "收缩转换为" ext2_ino_t {aka unsigned int} "

buf,match_name2,priv,0 };

^

在科学研究委员会中进行安装

/usr/bin/install-c extend delete '/usr/local/extend delete/bin '

[root @ VM-0-3-centos extend elete-0。2 .4]#哪个extendelete

/usr/bin/which:在(/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)中没有删除文本

[root @ VM-0-3-centos扩展删除-0。2 .4]# ll/usr/local/extend删除/bin/

总计1296

-rwxr-xr-x 1根根1323360 11月28日18:45扩展删除

如果在这一步报错配置:错误:C编译器无法创建可执行文件,可以运行好吃的安装海湾合作委员会命令安装编译环境

准备测试文件

[root@VM-0-3-centos示例]# df -T

文件系统类型1K-已用可用块数%装载在

devtmpfs devtmpfs 930496 0 930496 0%/dev

tmpfs tmpfs 941004 24 940980 1%/开发/shm

tmpfs tmpfs 941004 508 940496 1%/运行

tmpfs tmpfs 941004 0 941004 0%/sys/fs/cgroup

/dev/vda 1转4 51473868 6465732 42685016 14%/

/dev/loop 0 iso 9660 361650 361650 0 100%/mnt/iso

tmpfs tmpfs 188204 0 188204 0%/运行/用户/0

[root@VM-0-3-centos示例]# cp./text endelet-0。2 .4 .焦油。bz2 .

[root@VM-0-3-centos示例]# ls

文本删除-0.2.4.tar.bz2

查询文件的信息节点信息

我们选择刚刚下载的文本删除源码包作为"误删"的文件,先查看一下信息,-李可以在第一列查看文件的信息节点信息,示例文件夹的信息节点值为1311798:

[root@VM-0-3-centos ~]# ls示例/

文本删除-0.2.4.tar.bz2

[root@VM-0-3-centos ~]# ls -li

总计361676

1311798 drwxr-xr-x 2根根4096 11月28日20:28示例

1310761 drwxr-xr-x 3 1000 1000 4096 11月28日18时45分

918157 drwxr-xr-x 2根根4096 2021年2月28日目标列表

396057 -rw-r - r - 1根根370329600 2021年2月27日测试。国际标准化组织

删除测试文件,并用查询信息

[root@VM-0-3-centos ~]# cd示例/

[root@VM-0-3-centos示例]# ls

文本删除-0.2.4.tar.bz2

[root@VM-0-3-centos示例]# RM extendelete-0。2 .4 .焦油。bz2-f

[root@VM-0-3-centos示例]# ls

[root@VM-0-3-centos示例]#/usr/local/extend delete/bin/extend delete/dev/vda 1-inode 1311798

注意:扩展属性不会恢复。

警告:设置了EXT3 _ FEATURE _ INCOMPAT _ RECOVER .

应该卸载该分区,以便在不进一步丢失数据的情况下恢复删除的任何文件。

如果分区当前未挂载,此消息表明

它被不正确地卸载,您应该在继续之前运行fsck .

如果您决定继续,文本删除可能会覆盖一些已删除的

文件并使这些文件无法恢复。您应该卸载

文件系统,并在使用文本删除之前用fsck检查它。

您想继续吗?(是/否)

y

正在加载文件系统元数据.加载了400组。

小组:160人

信息节点1311798的内容:

0000 | ed 41 00 00 00 10 00 00 7a 62 a3 61 1b 7a a3 61 | .A.zb a z a

0010 | 1b 7a a3 61 00 00 00 00 00 00 02 00 08 00 00 00 00 00 |。z . a..

0020 | 00 00 08 00 0b 00 00 00 0a F3 01 00 04 00 00 00 |..

0030 | 00 00 00 00 00 00 00 00 01 00 00 00 79 20 50 00 | ..y P .

0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ..

0050 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ..

0060 | 00 00 00 00 7c 63 ab ad 00 00 00 00 00 00 00 00 00 00 00.|c..

0070 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ..

0080 | 1c 00 00 00 80 da 0d a3 80 da 0d a3 94 24 04 08 |..$.

0090 | 7a 62 a3 61 94 24 04 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00..

00a 0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00..

00b 0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00..

00c 0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00..

00d 0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00..

00e 0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00..

00f 0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00..

信息节点已分配

文件模式:16877

所有者用户界面设计(User Interface Design的缩写)的低16位:0

字节大小:4096

访问时间:1638097530

创建时间:1638103579

修改时间:1638103579

删除时间:0

组身份的低16位:0

链接计数:2

块数:8

文件标志:524288

文件版本(NFS): 2913690492

文件ACL: 0

目录ACL: 0

片段地址:0

直接块:127754,4,0,0,1,5251193,0,0,0,0,0

间接阻止:0

双重间接阻止:0

三重间接阻止:0

文件名|信息节点号|删除状态。1311798

.393219

删除了0.2.4.tar.bz2 396764

conftest.err 1311833已删除

[root@VM-0-3-centos示例]#

我们发现文本删除-0.2.4.tar.bz2文件的状态为删除

使用文本删除恢复文件

[root @ VM-0-3-centos ~]#/usr/local/extend delete/bin/extend delete/dev/vda 1-restore-directory/tmp

注意:扩展属性不会恢复。

警告:设置了EXT3 _ FEATURE _ INCOMPAT _ RECOVER .

应该卸载该分区,以便在不进一步丢失数据的情况下恢复删除的任何文件。

如果分区当前未挂载,此消息表明

它被不正确地卸载,您应该在继续之前运行fsck .

如果您决定继续,文本删除可能会覆盖一些已删除的

文件并使这些文件无法恢复。您应该卸载

文件系统,并在使用文本删除之前用fsck检查它。

您想继续吗?(是/否)

y

正在加载文件系统元数据.加载了400组。

正在加载日志描述符.加载了31842个描述符。

***在"/usr/local/extend delete/bin/extend delete "中有错误:双倍免费或贪污(!prev):0x00000000014d6020 ***

=======回溯:========

/lib 64/libc。所以。6(0x 81299)[0x7f 5c 08190299]

/usr/local/extend delete/bin/extend delete[0x 40 cdcb]

/usr/local/extend delete/bin/extend delete[0x 40 fee 6]

/usr/local/extend delete/bin/extend delete[0x 4045 B4]

/lib 64/libc。所以。6(_ _ libc _ start _ main0x F5)[0x7f 5c 08131555]

/usr/local/extend delete/bin/extend delete[0x 404 AEF]

=======内存映射:========

00400000-0041 c000 r-XP 00000000 FD:01 1311942/usr/local/extendelete/bin/extendelete

0061 c000-0061 d000 r-p 0001 c000 FD:01 1311942/usr/local/extend delete/bin/extend delete

0061 d000-0061 e000 rw-p 0001 d000 FD:01 1311942/usr/local/extend删除/bin/extend删除

0061e000-0061f000

014 c 6000-0176 e000 rw-p 00000000 00:00 0[堆]

7f5c00000000-7f5c00021000

7f5c 00021000-7f5c 04000000-p 00000000 00:00 0

7 F5 c 07 ca 1000-7 F5 c 07 ef 3000 rw-p 00000000 00:00 0

7 F5 c 07 ef 3000-7 F5 c 07 f 0a 000 r-XP 000000000 FD:01 265649

/usr/lib64/libpthread-2.17.so 7f5c07f0a000-7f5c08109000 ---p 00017000 fd:01 265649 /usr/lib64/libpthread-2.17.so 7f5c08109000-7f5c0810a000 r--p 00016000 fd:01 265649 /usr/lib64/libpthread-2.17.so 7f5c0810a000-7f5c0810b000 rw-p 00017000 fd:01 265649 /usr/lib64/libpthread-2.17.so 7f5c0810b000-7f5c0810f000 rw-p 00000000 00:00 0 7f5c0810f000-7f5c082d2000 r-xp 00000000 fd:01 265623 /usr/lib64/libc-2.17.so 7f5c082d2000-7f5c084d2000 ---p 001c3000 fd:01 265623 /usr/lib64/libc-2.17.so 7f5c084d2000-7f5c084d6000 r--p 001c3000 fd:01 265623 /usr/lib64/libc-2.17.so 7f5c084d6000-7f5c084d8000 rw-p 001c7000 fd:01 265623 /usr/lib64/libc-2.17.so 7f5c084d8000-7f5c084dd000 rw-p 00000000 00:00 0 7f5c084dd000-7f5c084f2000 r-xp 00000000 fd:01 291206 /usr/lib64/libgcc_s-4.8.5-20150702.so.1 7f5c084f2000-7f5c086f1000 ---p 00015000 fd:01 291206 /usr/lib64/libgcc_s-4.8.5-20150702.so.1 7f5c086f1000-7f5c086f2000 r--p 00014000 fd:01 291206 /usr/lib64/libgcc_s-4.8.5-20150702.so.1 7f5c086f2000-7f5c086f3000 rw-p 00015000 fd:01 291206 /usr/lib64/libgcc_s-4.8.5-20150702.so.1 7f5c086f3000-7f5c087f4000 r-xp 00000000 fd:01 287349 /usr/lib64/libm-2.17.so 7f5c087f4000-7f5c089f3000 ---p 00101000 fd:01 287349 /usr/lib64/libm-2.17.so 7f5c089f3000-7f5c089f4000 r--p 00100000 fd:01 287349 /usr/lib64/libm-2.17.so 7f5c089f4000-7f5c089f5000 rw-p 00101000 fd:01 287349 /usr/lib64/libm-2.17.so 7f5c089f5000-7f5c08ade000 r-xp 00000000 fd:01 266798 /usr/lib64/libstdc++.so.6.0.19 7f5c08ade000-7f5c08cde000 ---p 000e9000 fd:01 266798 /usr/lib64/libstdc++.so.6.0.19 7f5c08cde000-7f5c08ce6000 r--p 000e9000 fd:01 266798 /usr/lib64/libstdc++.so.6.0.19 7f5c08ce6000-7f5c08ce8000 rw-p 000f1000 fd:01 266798 /usr/lib64/libstdc++.so.6.0.19 7f5c08ce8000-7f5c08cfd000 rw-p 00000000 00:00 0 7f5c08cfd000-7f5c08d3f000 r-xp 00000000 fd:01 267873 /usr/lib64/libext2fs.so.2.4 7f5c08d3f000-7f5c08f3f000 ---p 00042000 fd:01 267873 /usr/lib64/libext2fs.so.2.4 7f5c08f3f000-7f5c08f40000 r--p 00042000 fd:01 267873 /usr/lib64/libext2fs.so.2.4 7f5c08f40000-7f5c08f42000 rw-p 00043000 fd:01 267873 /usr/lib64/libext2fs.so.2.4 7f5c08f42000-7f5c08f45000 r-xp 00000000 fd:01 265948 /usr/lib64/libcom_err.so.2.1 7f5c08f45000-7f5c09144000 ---p 00003000 fd:01 265948 /usr/lib64/libcom_err.so.2.1 7f5c09144000-7f5c09145000 r--p 00002000 fd:01 265948 /usr/lib64/libcom_err.so.2.1 7f5c09145000-7f5c09146000 rw-p 00003000 fd:01 265948 /usr/lib64/libcom_err.so.2.1 7f5c09146000-7f5c09168000 r-xp 00000000 fd:01 265614 /usr/lib64/ld-2.17.so 7f5c092b1000-7f5c0935d000 rw-p 00000000 00:00 0 7f5c09363000-7f5c09367000 rw-p 00000000 00:00 0 7f5c09367000-7f5c09368000 r--p 00021000 fd:01 265614 /usr/lib64/ld-2.17.so 7f5c09368000-7f5c09369000 rw-p 00022000 fd:01 265614 /usr/lib64/ld-2.17.so 7f5c09369000-7f5c0936a000 rw-p 00000000 00:00 0 7ffe581db000-7ffe581fc000 rw-p 00000000 00:00 0 [stack] 7ffe581fc000-7ffe581fe000 r-xp 00000000 00:00 0 [vdso] ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall] Aborted [root@VM-0-3-centos ~]#

恢复失败,此路不通!!!

有其他人成功了,但是我测试失败,释放内存崩溃,有大神给说一下怎么改源码吗?此处存疑,后续再测,先记录一下常用参数。

查询inode文件状态:/usr/local/extundelete/bin/extundelete /dev/vda1 --inode 1311798

恢复指定节点数据:/usr/local/extundelete/bin/extundelete /dev/vda1 --restore-inode 1311798

恢复单个文件:/usr/local/extundelete/bin/extundelete /dev/vda1 --restore-file root/examples/extundelete-0.2.4.tar.bz2

恢复一个目录:/usr/local/extundelete/bin/extundelete /dev/vda1 --restore-files root/examples

恢复所有文件:/usr/local/extundelete/bin/extundelete /dev/vda1 --restore-all

预防误删引发的事故

定义别名,提示删除

定义别名 alias rm='rm -i', 在删除文件前会出现一个提示,使用 -i 选项来需要逐个确认要删除的文件,只有用户输入 y 才会将文件删除,但是这种做法在加上 -f 选项之后会失效。

禁用rm,使用mv代替

在系统中不允许直接使用rm命令直接删除文件,需要mv文件到指定的回收目录 /.delete,然后配合一个定时任务,每周清空/.delete下文件,相当于手动创建了一个回收站。

总结

使用foremost恢复时的目标目录最好是另外一个磁盘中的目录,把文件恢复到被删除文件所在的磁盘中很可能会在恢复前覆盖被误删的文件

sodu 的全称目前有 substitute user do 和 super user do 两种说法,使用sudo通常是行驶超级用户的权限,但有时也可以其他普通用户,所以翻译成 substitute user do 代替其他用户来做更准确一点

foremost 支持的文件系统比较多,其中包括 ext2、 ext3 、vfat、NTFS、ufs、jfs 等,但是只能恢复特定格式的文件,而 extundelete 只支持ext3、ext4文件系统,不过可恢复的文件类型很多。

除了本文中总结的这两款不怎么好用的恢复软件,还有 testdisk 和 photorec 可以用来恢复,后续可以尝试一下数据无价,请谨慎删除,可参考别名方法或禁用 rm -rf 来减少事故的发生

到此这篇关于linux环境下恢复rm误删的文件方法的文章就介绍到这了,更多相关linux恢复rm误删的文件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: