入门版Linux上恢复误删除的文件

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

一、被删除的文件正在被进程使用:

当某个文件正在被某个程序使用时,linux针对该文件有回两个计数器:

i_count计数器:该文件可能被多个进程使用,每一个进程使用该文件,i_count数值都会加1。反之,进程释放该文件的引用,则该计数器减1。

i_nlink计数器:记录该文件产生的硬链接的次数。

一般是有活动的进程存在持续标准输入或输出,到时文件被删除后,进程PID依旧存在。这也是有些服务器删除一些文件但是磁盘不释放的原因。

另外一种情况就是当以上两个计数器都为0的时候,该文件实际上就是属于没有进程使用它的状态,就直接被删除掉了。如果有进程使用它,那么该文件的i_count数值不为0,就可以在/proc/<进程id>/fd目录种找回来。

1、实验准备:

终端1创建一个文件lyg.txt:

终端2另外一个终端一直tail -f(注意这个地方使用tailf不可行)这个文件,达到文件一直被tail进程占用的目的:

终端1上删除此lyg.txt文件:

2、恢复测试:

使用lsof命令查看已经被删除的文件:

在上面lsof返回结果中可以识别出到lyg.txt (deleted)被删除了,这时还存在一个进程tail占用它,tail进程的进程编号是4372,我们按照返回的结果拼接已删除的文件残留的路径为/proc/4372/fd下。

恢复,即使用cp命令,将我们识别到的3拷贝到原目录:

二、被删除的文件没有进程使用,使用extundelete、testdisk等三方工具恢复数据

此时没有进程使用被删除的文件,被删除的文件的两个计数器i_count和i_link此时都为0。其实文件删除可以分为以下情况:

操作系统文件删除:操作系统层面的删除文件,只是删除文件的inode信息。删除inode信息之后,该文件对于操作系统及操作系统的用户不可见了。

磁盘文件物理删除:我们知道物理磁盘是由一个个数据块组成的,所以如果想恢复文件,我们需要找到存放文件的数据块block单元,真正在磁盘上存储文件的block暂时并未被删除(暂时并未被覆盖掉)。

1、所以当文件被误删除了,请立即采集以下基础操作:

①为了防止inode被覆盖掉,一定要停止对当前分区做任何操作,例如可以卸载分区umount /dev/sda3,卸载不掉请看这个umount报错设备繁忙(device is busy)怎么处理?_承缘丶的博客-CSDN博客_umount 设备忙。

②看情况停止所在分区的服务,甚至卸载其目录所在的运行设备等。

③看情况为了保险可以通过dd命令对其分区进行备份,防止数据丢失,再加一层保护:

dd if=/pldpath/filename of=/dev/sda4

2、三方工具推荐:

①适用于FAT16、 FAT32、 exFAT (FAT64)、 NTFS、ext2/3/4、xfs等的工具“testdisk”。

yum install testdisk

②支持ext3、ext4等的工具“extundelete”。

yum -y install epel-release

yum -y install extundelete


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

相关文章

不小心误删注册表exe,所有exe程序无法运行

首先我陈述下误删的原因吧&#xff0c;与其说是误删不如说就是自己有 意删除的&#xff0c;电脑Windows7&#xff0c;我在安装CASS10.1的时候&#xff0c;由于一个补丁程序始终不能运行&#xff0c;弹框显示说CASS10.1.6补丁.exe不是有效的Win32应用程序。然而我去寻找解决办法…

如何恢复Linux中的误删文件

写在前面的话 在开始教程之前我有必要提醒大家&#xff0c;使用窗口管理器&#xff08;GUI&#xff09;删除文件和使用命令行工具&#xff08;CLI&#xff09;删除文件这两种方法之间是有区别的。 当我们使用窗口管理器来删除文件时&#xff0c;我们仅仅只是将文件从某个目录移…

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

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

注册表中exe被删除后恢复

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

LINUX使用rm误删文件后恢复

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

概率计算问题 已知模型λ和观测序列O&#xff0c;求对给定观测序列条件概率P&#xff08;I|O&#xff09;最大的状态序列。即给定观测序列&#xff0c;求最有可能的对应的状态序列。 解决算法 近似算法 近似算法的核心思想是在每个时刻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盘的问题&#xff0c;当初给C盘分区分了40G&#xff0c;感觉够大的了&#xff0c;可是现在却不够用&#xff0c;每天见红。网上搜索的教程大多是把扩展分区的逻辑盘删除&#xff0c;再扩充C盘。但本人电脑东西太多&#xff0c;搬运太麻烦。肯定不能删。于是…

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

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

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

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

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

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