如何恢复Linux中的误删文件

article/2025/9/17 4:30:09

写在前面的话

在开始教程之前我有必要提醒大家,使用窗口管理器(GUI)删除文件和使用命令行工具(CLI)删除文件这两种方法之间是有区别的。

当我们使用窗口管理器来删除文件时,我们仅仅只是将文件从某个目录移动到了另一个目录中(回收站)。

在这种情况下,唯一得到更新的就是你文件系统索引节点(inode)的元数据信息,例如被删除文件的时间戳、文件所占存储区块和扩展属性等数据。你可以使用tune2fs(调整和查看ext2/ext3文件系统的文件系统参数)来查看文件系统的索引节点信息,在命令行工具中输入下列指令:

sudo tune2fs -l /dev/sda1 |grep -i inode

运行之后,你将会得到类似下方所给出的示例信息:

$ sudo tune2fs -l /dev/sda1 |grep -i inode Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recoveryextent flex_bg sparse_super large_file huge_file uninit_bg dir_nlinkextra_isize Inode count: 30007296 Free inodes: 29382378 Inodes per group: 8192 Inode blocks per group: 512 First inode: 11 Inode size: 256 Journal inode: 8 First orphan inode: 21628027 Journal backup: inode blocks

文件删除知多少

当你使用SSH远程访问你的计算机时,你可以在目录“~/.local/share/Trash”中看到所有被删除的文件。这样一来,我们就可以直接使用GUI窗口来还原被删除的文件,非常的简单。

但是,当你使用“rm”命令来删除某个文件时,这个文件可就不仅仅是被移动到一个隐藏目录那么简单了。

这个时候,你需要通过更新索引节点元数据来通知操作系统,这份文件此前所占用的那部分磁盘空间已经可以继续使用了,操作系统现在可以直接将其他的文件写入这部分存储空间中。

接下来,操作系统可能会在一个小时之后就覆盖这部分磁盘空间,但也有可能会在两个月之后才会使用这部分存储区域,具体将取决于操作系统以及文件系统的设置。

当你在移除(安全删除)你的文件时,也就相当于你在让文件系统删除这份文件,然后再向这份文件此前所占用的那部分存储空间写入随机数据。对于“安全删除”的情况来说,我们通常是无法恢复被删除文件的。

所以最好的方法就是当你意识到你误删了某一份文件时,就立刻开始进行文件恢复工作。你等的时间越久,成功恢复误删文件的可能性也就越低。

如何恢复Linux平台下的误删文件?

目前我们有很多种方法可以恢复Linux平台上的误删文件,其中主流的两个选项就是TestDisk/PhotoRec和extundelete。

PhotoRec是TestDisk套件的其中一个组件,我们可以用它来恢复单独的文件。当然了,TestDisk的功能更加强大,它可以帮助我们恢复文件系统分区或磁盘启动扇区。

TestDisk支持目前主流的文件系统,而且目前主流的操作系统平台都可以使用这款工具。在这篇文章中我们主要以PhotoRec为例来进行讲解。

PhotoRec-【点击阅读原文下载工具】

PhotoRec 是一款用于恢复硬盘和光盘中丢失的视频、文档、压缩包等文件的数据恢复工具。除此之外,它还可以从数码相机的SD存储卡中恢复丢失的图片。因此,该软件被命名为PhotoRecovery这个名字。

PhotoRec可以忽略文件系统的类型,并直接从介质底层恢复数据。因此,在介质的文件系统受到严重破坏或被重新格式化后,它同样能够进行数据恢复。PhotoRec是一款开源、跨多平台的免费数据恢复软件,受GNUGeneral Public License (GPLV v2+) 的保护。

重要提示:一旦发现丢失或意外删除了某个图片、文件之后,请不要继续往该存储设备或磁盘写入新的文件,否则您可能会覆盖原来的数据。这意味着您在使用PhotoRec时,您千万不要将恢复的文件写入到原始数据所在的同一分区。

PhotoRec支持的操作系统平台

-DOS/Win9x -Windows NT 4/2000/XP/2003/Vista -Linux -FreeBSD, NetBSD, OpenBSD -Sun Solaris -Mac OS X

PhotoRec支持的文件系统

-FAT -NTFS -exFAT -ext2/ext3/ext4 -HFS+

一般情况下,PhotoRec的文件恢复过程如下图所示:

extundelete-【点击阅读原文下载工具】

除了PhotoRec之外,我们也可以选择使用extundelete来完成数据恢复工作。extundelete针对的是ext3和ext4文件系统,所以相较于TestDisk而言,extundelete的使用范围就有一定的限制了。

通常情况下,在进行文件恢复工作的时候,我们要先将文件系统重新挂载,然后给它分配只读权限。完成之后,再将恢复的文件写入另外一个文件系统中,这样可以避免原始数据所在的存储区域被覆盖。

使用extundelete来恢复文件的操作步骤非常的简单,我们只需要选择相应的文件系统,然后运行下面这条命令即可:

extundelete /dev/sda1 --restore-all

总结

数据恢复是一项非常复杂的工作,而且由于操作系统、文件系统以及人为因素的干扰,我们所恢复出来的文件很有可能会出现数据丢失的情况。

所以当你发现你误删了文件时,请立刻停止使用你的电脑,并且尽快进行数据恢复工作,以免你的误删文件被其他的数据覆盖掉。

* 参考来源:slashgeek,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM

转载链接:
1、如何恢复Linux中的误删文件 - 云+社区 - 腾讯云
https://cloud.tencent.com/developer/article/1041014

参考链接:
1、Linux实例中数据恢复_数据恢复_最佳实践_云服务器 ECS-阿里云
https://help.aliyun.com/document_detail/52046.html#concept-52046-zh-ol-jnv-4bf-hfb
2、Linux rm -rf 误删数据恢复 - 简书
https://www.jianshu.com/p/e644ee9d285a


http://chatgpt.dhexx.cn/article/jvwNhWAj.shtml

相关文章

Win11注册表编辑器误删了如何恢复?

​ 注册表编辑器是一个用来更改系统注册表设置的高级工具,与资源管理器的界面很类似。近期有用户将注册表编辑器误删了,那么应该如何恢复呢,下面小编就给大家分享一下详细的恢复方法。遇到同样问题的用户注意了。 更多重装系统教程尽在小白…

注册表中exe被删除后恢复

恢复注册表 如果我们不小心将注册表中的exe删除后,这个时候不管打开什么软件都需我们自己进行指定才能打开使用,这样是及其麻烦的,而且在删除掉.exe之后,原来能在“运行”中搜索的执行文件也都无法执行了,比如果原来我…

LINUX使用rm误删文件后恢复

最近使用centos执行了rm -rf删除了一个文件,后面想恢复。 先关闭selinux vim /etc/selinux/config SELINUXdisabled reboot 重启生效1、使用debugfs命令恢复(此命令为系统自带) 1-1、查看文件系统类型,以下2个命令都可查看&…

电脑注册表误删恢复办法:系统文件和设置还原法

一.起因:为了修改电脑字体一不小心把Control Panel整个注册表给删除了,导致电脑界面变的锯齿,界面变形等各种问题,网上找了许多方法都没成功或者难度较大,最终使用系统恢复还原点将系统变成几个小时前的各种设置&#…

如何每天自动发送心灵鸡汤、正能量语录

为什么要发送心灵鸡汤、正能量语录 许多团队管理者或者行政为了需要鼓励团队,让员工有一个积极饱满的工作状态,需要每天在企业群内发送心灵鸡汤、正能量语录等信息,按照大多数人的办法,是在搜索引擎找到对应的心灵鸡汤或者正能量…

励志心灵鸡汤经典语录,满满都是道理!

1、【人生的幸运是靠努力而来的,世上没有不劳而获,天上掉馅饼的事,所谓种瓜得瓜,种豆得豆。别人可以替你开车,但不能替你走路;可以替你做事,但不能替你感受。人生的路要靠自己去走,成…

隐马尔可夫模型前向算法推导

已知条件有: 状态集合:,观测集合: 已观测到的观测序列 从t时刻的状态到t1时刻的状态的状态转移概率: 从t时刻的状态生成t时刻的观测的概率: 状态初始概率向量 给定隐马尔可夫模型 ,定义到…

隐马尔可夫模型的三个基本问题

目录 写在前面的话隐马尔可夫模型(HMM)隐马尔可夫模型的三个基本问题 写在前面的话 隐马尔可夫模型(HMM)的三个基本问题,我查阅相关资料有一些自己的理解,如有错误请多指正~ 参考资料: 如何用…

隐马尔可夫模型HMM (机器学习模型)

隐马尔科夫模型,Hidden Markov Model,简称HMM,是一个比较经典的机器学习模型。 它在语言识别,自然语言处理,模式识别等领域得到广泛的应用。当然,随着目前深度学习的崛起,尤其是RNN, LSTM等神经…

NILMTK——因子隐马尔可夫之隐马尔可夫

因子隐马尔可夫(FHMM)由Ghahramani在1997年提出,是一种多链隐马尔可夫模型,适合动态过程时间序列的建模,并具有强大的时序模型的分类能力,特别适合非平稳、再现性差的序列的分析。 1. 马尔可夫链 随机过程的研究对象是随时间演变…

隐马尔可夫模型(四)学习问题

学习问题 已知观测序列O,估计模型λ的参数,使得在该模型下观测序列概率P(O|λ)最大。 解决算法 最大似然估计(有监督) 有监督意味着已知在给定的训练集中观测序列O{o1,o2,…,oT}和隐状态序列I{i1,i2,……

隐马尔可夫模型python_隐马尔可夫模型HMM及Python实现

隐马尔可夫模型差不多是学习中遇到的最难的模型了,本节通过对《统计学习方法》进行学习并结合网上笔记,用Python代码实现了隐马模型观测序列的生成、前向后向算法、Baum-Welch无监督训练、维特比算法。比较清晰的了解了隐马尔可夫模型,其实在实际运用中我们只需要调用库就一…

隐马尔可夫模型(三)预测问题

概率计算问题 已知模型λ和观测序列O,求对给定观测序列条件概率P(I|O)最大的状态序列。即给定观测序列,求最有可能的对应的状态序列。 解决算法 近似算法 近似算法的核心思想是在每个时刻t选择在该时刻最有可能出现的状态 it*&…

win10c盘扩容_Win10中无损分区扩容调整大小

各位看官,上回书表到那里小生不记得了。今天咱们表一表在win10中无损分区扩容调整大小的方法。全程图文并茂,深入浅出,谁都可以一看就会。 所需工具:1、win10系统 2、DiskGenius软件 最终目的:你的C盘空间渐小需要扩容。选择C盘外的任何物理分区比如d盘,将之分出10G大小增…

win2008服务器c盘在线扩容,win7 win10 win2008系统给主分区C盘增加空间 不破坏原硬盘内容扩充C盘 MiniTool Partition Wizard...

最近一直苦恼win7的C盘的问题,当初给C盘分区分了40G,感觉够大的了,可是现在却不够用,每天见红。网上搜索的教程大多是把扩展分区的逻辑盘删除,再扩充C盘。但本人电脑东西太多,搬运太麻烦。肯定不能删。于是…

win7如何调整计算机c盘,win7系统让c盘和d盘合并的两种方法

有时我们可能需要将雨林木风win7系统电脑的两个盘符合并,这样可以增大内存空间,比如让c盘和d盘合并,这样就有足够的空间了。之前小编教程分享win7系统分区的方法,但是要让c盘和d盘合并该怎么操作呢?相信还是有很多小伙…

计算机c盘无法扩展,电脑c盘怎么扩大_C盘空间不足的扩大步骤-win7之家

C盘是电脑中重要的系统盘,我们电脑使用时间久了之后空间就会变得越来越小,导致C盘空间不足影响电脑运行速度,有些用户可能不想要删除C盘文件,那么我们可以通过扩大C盘空间来解决,很多用户不知道电脑c盘怎么扩大&#x…

计算机管理扩展灰色,为什么c盘扩展卷灰色?win7系统c盘扩展卷灰色如何解决

在Widow7系统使用一段时间后,发现C盘的空间越来越小,严重时出现卡顿问题。有什么办法不重转系统就可以加大C盘的空间?可以通过扩展卷功能用于扩展C盘的容量,遇到c盘扩展卷灰色问题怎么办?下面给大家介绍win7系统c盘扩展卷灰色的解…

计算机把C盘无法扩展,如何解决可分配空间却无法扩展C盘的问题?

4个人同意答案 谢谢. 仅相邻分区可以扩展或合并. 您还可以将可用分区移至c驱动器,然后进行扩展. 以您的分区为例. 在移动过程中,本质是复制先前的恢复分区的数据粘贴到后空区域,大小与先前的恢复分区一样大,然后删除先前的恢复分区…

计算机C盘能扩展吗,为什么电脑c盘没有扩展卷(原因揭秘及扩大c盘空间的方式)...

经常有人跟我说,自己的C盘越来越小了,或者C盘太小,怎么扩大?C盘空间越来越小,会导致电脑运行速度变慢,当C盘满了,估计开机都要开不了!究其原因,大部分都是在安装软件的时…