Linux如何恢复误删除的文件 (linux 回复删除的文件)

在Linux操作系统中,误删除文件是一个比较常见的问题。当用户习惯了使用Windows系统的回收站功能后,就会发现在Linux下面并没有类似的恢复文件的功能。那么,如何在Linux操作系统上恢复误删除的文件呢?

一、Linux系统删除文件的原理

在Linux操作系统中,删除文件的操作是把文件的索引节点连接从目录中断开,使文件的索引节点没有任何目录项连接可以访问到,因此,在Linux操作系统中删除文件,实际上只是删除了文件的目录项,而文件的数据并不会马上被清除。

当文件的目录项被删除时,文件的数据仍然存在在磁盘上,只是操作系统不再将其作为一个文件来看待,而是把这块空间标识为可用的空间,等待新的数据覆盖原有的数据。

二、Linux恢复误删除的文件的方法

1.使用undo删除命令

在目录中删除文件时,可以使用undo删除命令来恢复文件。undo删除是实际上会在删除时记录一个日志,把这个被删除了的文件名写到日志里,这样在误删后可以通过undo删除命令来恢复文件。使用这个命令恢复文件时,需要从日志中把误删的文件名找出来,然后使用undel filename命令来恢复文件。

2.使用extundelete命令

如果误删除后无法使用undo删除命令,还可以使用一个被称为extundelete的命令来恢复误删除的文件。extundelete是一款基于Ext2/Ext3/Ext4文件系统的恢复工具,可以用来恢复目录和文件,但需要注意的是,extundelete命令不能恢复使用rm -rf命令删除的目录及其内容。

使用extundelete的命令格式为:extundelete /dev/sdaX –restore-file /path/to/file

其中/dev/sdaX代表的是被误删除的文件所在的分区,/path/to/file代表被误删除的文件的路径和名称。使用该命令恢复误删除的文件时,需要注意使用该命令的用户必须是具有root权限的用户。

3.使用testdisk命令

除了通过使用undo删除命令和extundelete命令恢复误删除的文件之外,还可以使用testdisk命令来恢复文件。testdisk是一个支持多种文件系统的恢复工具,可以用来恢复各种类型的文件,而不仅仅是针对删除的文件。

使用testdisk命令恢复误删除的文件时,首先需要安装好testdisk软件,在终端下输入testdisk命令进入到testdisk程序中,选择需要恢复的分区,按下Enter键,进入到分区的列表界面,选择需要恢复的分区,按下Enter键,接下来进入到文件系统的类型选择界面,选择被误删除的文件所在的文件系统,按下Enter键。

进入到文件列表之后,选择需要恢复的文件,按下C键,进入到选择保存路径的界面,选择需要保存文件的路径后,按下Enter键即可将恢复出来的文件保存到指定的路径中。

误删除文件是Linux操作系统中的一个常见问题,但是摆脱误删除带来的烦恼,并不是什么困难的事情。本文介绍了三种可以用来恢复误删除文件的方法,即使用undo删除命令、extundelete命令和testdisk命令。希望读者可以通过这些方法,成功地恢复被误删除的文件。

相关问题拓展阅读:

Linux系统下不小心使用rm命令删除的文件能有办法恢复吗?

1、 查看一下当前系统版本号,及文件系统格式

2、新建一个文件夹及文件my.txt,然后删除

3、运用,系统自还工具debugfs来修复 打开,刚刚被删除文件所在的分区,用ls 加-d参数显示刚刚删除文件所在的

4、显示有尖括号的就是我们要找的文件Inode 号 执行logdump _i ,然后输入“quit”退出

5、执行以下命令,进行恢复,bs与skip的值分

bs对应上面的offset后面的值,skip对应block后面的值

至此,刚删除的数据已恢复

linux dd命令

Linux dd命令用于读取、转换并输出数据。

dd可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。

如何在 Linux 中恢复已删除的文件-

这曾经发生在你身上吗?你意识到你错误地删除了一个文件—要么通过

Del

键,要么在命令行中使用 rm 。

在之一种情况下,您可以使用

回站站

(GNOME界面),然后将其恢复到原始位置。但是第二种情况呢?我相信你可能知道,Linux 命令行不会将删除的文件发送到任何地方,而是直接

删除

它们。

该 -i 选项与

rm

一起使用时在删除文件之前会出现提示。此提示让您有第二次机会考虑是否真的要删除文件 ,但此提示不会保护您免受自己的粗心大意删除文件,它只是给你提供了二次确认的机会。

要将

rm

替换为别名 ‘rm -i’ ,请执行以下操作:

alias

命令将确认

rm

现在是别名:

但是,这只会在当前 shell 中的当前用户会话期间持续。要使更改永久生效,您必须将其保存到 ~/.bashrc (某些发行版可能会使用 ~/.profile ),如下所示:

为了使 ~/.bashrc (or ~/.profile ) 中的更改立即生效,请从当前 shell 获取文件:

在日常的系统操作,请小心的你文件,但是,如果您意识到您不小心删除了系统中的文件并且惊慌失措,别担心,此工具会轻松帮你找回误删除的文件!

CentOS/RHEL 7,是目前在生产环境见到的使用最广泛的版本,下面展示在

CentOS/RHEL 7

中的安装过程

命令展示:

选项释义:

1、安装完成后,让我们进行一个简单的测试

首先我们将 xihu.jpg 从

/boot/images

目录中删除:

2、执行恢复

要恢复它,首先按如下方式使用(您需要首先识别底层分区 -在这种情况下 /dev/sda1 就是 /boot 所在的分区):

3、查看恢复情况

查看一下审计文件

从输出内容来看,文件被成功恢复。

其中

/home/rescue

是单独磁盘上的目录 – 请记住,在已删除文件所在的同一驱动器上恢复文件不是明智之举。

如果在恢复过程中,您占用已删除文件所在的相同磁盘扇区,则可能无法恢复任何内容。此外,必须在执行恢复之前停止所有活动。

在 foremost 完成执行后,恢复的文件(如果可以恢复)将在

/home/rescue/jpg

目录中找到。

在本文中,我们解释了如何避免意外删除文件以及在发生此类意外事件时如何尝试恢复文件。但是请注意,根据分区的大小,最终可能需要运行很长时间。

linux不小心删除文件后怎么恢复

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

以下方法在ext3的文件系统上测试通过,ext2的没有测试过。假设删除的文件在dir下面,位于/dev/sda5上。

主要借助debugfs

1 运行debugfs,进入调度模式

2 执行open /dev/sda5

3 执行ls -d dir 会列出此目录最近的操作,其中可以看到的日志删除记录

4 执行logdump -i 显示此日志内容

5 在输出中寻找删除文件对应的block,记录下来blockid

6退出debugfs,运行dd if=/dev/sda5 of=/tmp/saved bs=1024 count=1 skip=blockid

文件被误删了之后,先停止其他文件的相关操作,以免影响到恢复工作,然后判断文件的删除方式是普通删除还是永久删除,如果是普通删除的话可以打开回收站进行文件的恢复,如果是永久删除的话,那么可以借助到专业的数据恢复软件来进行恢复文件的工作,具体如下:

步骤一;在该电脑的常用浏览器上搜索【

强力数据恢复软件

】,找到安装包进行下载,再完成相关的安装操作,之后点击【立即体验】按钮运行软件。(下载和安装路径不要和误删文件所在分区重合)

步骤二:软件一共有三种的恢复选项:快速扫描、深度扫描、分区恢复,每种选项都可以帮助用户更为精确的对误删的文件进行相关的恢复操作,这里根据实际情况以及选项的描述选择【深度扫描】即可。

步骤三:之后界面显示有读取到的电脑分区信息,在其中找到误删文件所在的分区勾选上,之后点击【开始扫描】按钮,用户就对分区进行数据的扫描工作了,耐心等待完成即可。(如果知晓误删文件格式,可点击【文件设置】按钮自定义扫描文件格式后再开始扫描工作)

步骤四:扫描结束之后,在界面左侧找到删除文件对应的格式点击,右侧就显示有具体的文件信息了,在其中找到被删除文件勾选上,之后点击【下一步】按钮。(双击可放大文件,更好的确定是否为需要的文件)

步骤五:点击【浏览】按钮选择好恢复文件的存储位置后,点击【恢复】按钮来进行不小心文件恢复工作的最后一步工作,恢复完成之后弹出提示框,点击【确定】按钮即可查看到恢复后的误删文件了。

关于linux 回复删除的文件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Linux如何恢复误删除的文件 (linux 回复删除的文件)