当前位置:首页 > 话题广场 > 攻略专题 > 游戏问答

如何在 Linux 中恢复仍在活动进程中的已删除文件

许多情况下,删除的文件都可以恢复,即使该文件有活动的进程在操作它,并且目前被单个或多个用户使用。 -- Mhnassif

本文导航
  • -计算原始文件的 MD5 哈希 …… 12%

  • -删除文件的恢复过程 …… 29%

  • -计算恢复文件的 MD5 哈希 …… 67%

编译自:

作者: Mhnassif

译者: geekpi

使用终端恢复你 Linux 系统上仍在运行进程的已删除文件的快速指南。

许多情况下,删除的文件都可以恢复,比如在该文件有活动的进程在操作它,并且目前被单个或多个用户使用时。在 Linux 系统中,每个当前正在运行的进程都会获得 ID,其被称之为进程标识符 “PID”,并将它们存放在 /proc 目录中。这正是我们恢复仍在运行的进程中(具有PID)已删除的文件所需要的东西。这里就是介绍我们如何做到这一点的。

假设你打开了一个压缩文件,之后你删除了这个文件。为了演示目的,压缩文件称为 “o”,这将是之后我们将打开和删除的文件。

计算原始文件的 MD5 哈希

删除之前,我们将计算该文件的 MD5。这样我们可以将原来的 MD5 哈希值与恢复文件的 MD5 哈希进行比较。这个过程将保证我们恢复的压缩文件的完整性是一样的,它没有被破坏。

md5sum o >> md5-o

要显示文本文件的内容。

cat md5-o

86489b68b40d144f0e00a0ea8407f7c0 o

检查压缩文件的 MD5 哈希值之后。我们将压缩文件保持打开(LCTT 译注:此处是使用 file-roller 这个图形界面的解压程序保持对该压缩文件的打开,其内置在 GNOME 环境中;在桌面环境中,使用桌面工具打开一个压缩包也能起到同样的作用。又及,本文举例不是很恰当,如果是删除了某个服务进程的已经打开的配置文件,那么这种恢复就很有意义),并将其删除。之后,我们将从文件的恢复过程开始,步骤如下:

rm o

删除文件的恢复过程

正如我们前面提到的,运行的进程在 /proc 目录中。我们可以使用以下命令搜索该目录中需要的进程:

由于我们已经知道文件名包括 .zip 扩展名,因此我们可以使用 .zip 扩展名进行搜索。它将限制输出结果并显示所需的进程。

ps -axu | grep .zip

m 13119 0.8 1.0 121788 30788 ? Sl 06:17 0:00 file-roller /home/m/Downloads/Compressed/o

m 13164 0.0 0.0 5108 832 pts/20 S+ 06:18 0:00 grep --color=auto .zip

然后我们将进入到包含 PID 13119 的目录并打开 fd 子目录。

cd /proc/13119/fd

fd (文件描述符)目录包含多个文件,包括我们需要恢复的文件。该文件以硬链接的方式链接到原始文件。 fd 目录中的所有文件都以数字链接到“文件名”。因此,要确定这些文件中的哪一个链接到该原始文件,我们将用详细列表选项列出 /fd 目录。

ls -l

total 0

lr-x------ 1 m m 64 Jul 14 06:17 0 -> /dev/null

lrwx------ 1 m m 64 Jul 14 06:17 1 -> socket:[26161]

lrwx------ 1 m m 64 Jul 14 06:17 10 -> anon_inode:[eventfd]

lr-x------ 1 m m 64 Jul 14 06:17 11 -> anon_inode:inotify

lrwx------ 1 m m 64 Jul 14 06:17 12 -> socket:[5752671]

lr-x------ 1 m m 64 Jul 14 06:17 13 -> /home/m/Downloads/Compressed/o (deleted)

lrwx------ 1 m m 64 Jul 14 06:17 2 -> socket:[26161]

lrwx------ 1 m m 64 Jul 14 06:17 3 -> anon_inode:[eventfd]

lrwx------ 1 m m 64 Jul 14 06:17 4 -> anon_inode:[eventfd]

lrwx------ 1 m m 64 Jul 14 06:17 5 -> socket:[5751361]

lrwx------ 1 m m 64 Jul 14 06:17 6 -> anon_inode:[eventfd]

lrwx------ 1 m m 64 Jul 14 06:17 7 -> anon_inode:[eventfd]

lrwx------ 1 m m 64 Jul 14 06:17 8 -> socket:[5751363]

lrwx------ 1 m m 64 Jul 14 06:17 9 -> socket:[5751365]

正如你在终端输出中看到的,原始文件 “o” 已被删除,但它仍然链接到一个文件名 13,其进程 PID 13119。但是,我们仍然可以通过将链接的文件复制到安全的地方来恢复它。

cp 13 /home/m/Downloads/Compressed

文件复制后。我们将返回包含恢复文件的目录,并使用以下命令重命名它。

mv 13 o

计算恢复文件的 MD5 哈希

由于我们已经恢复了该文件。让我们检查该文件的完整性,这只是为了确保文件没有损坏,并且和原来一样。早先我们保存了原始文件的 MD5 哈希值。

md5sum o >> md5-o

该命令将检查文件的 MD5 哈希值,并在文件中追加新恢复文件的 MD5 哈希值,以轻松比较两个 MD5 哈希值。

可以显示文本文件的内容来比较原始文件和恢复文件的 MD5 哈希值。

cat md5-o

86489b68b40d144f0e00a0ea8407f7c0 o

86489b68b40d144f0e00a0ea8407f7c0 o

恢复文件的 MD5 哈希是一样的。所以,我们成功地恢复了我们以前删除的文件,并且恢复后文件完整性一致,并且工作正常。

注意: 在某些情况下,某些文件无法通过 ps -axu 命令看到。 所以,尝试检查运行的程序,并从中恢复文件。

假设我们有一个使用 Totem 媒体播放器播放中的以 .avi 为扩展名的视频。你需要做的就是检查 Totem 的 PID,并按照本示例中提到的相同说明进行操作。

要查找正在运行的程序的 PID,请使用以下命令,后面跟程序的名称。

pidof 程序名

通过分享支持我们。


via:

作者:mhnassif [1] 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

  • [1]: mhnassif -

1.《如何在 Linux 中恢复仍在活动进程中的已删除文件》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《如何在 Linux 中恢复仍在活动进程中的已删除文件》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/gl/2237755.html

上一篇

关于(斯密达)是什么意思,你需要知道这些「韩语学习」“思密达”究竟何意?

下一篇

101级的圣物怎么获得?我来告诉你答案魔兽世界7.2神器:新上限,新巅峰以及隐藏外观

.lc文件怎么打开看这里!如何在 Linux 中恢复仍在活动进程中的已删除文件

.lc文件怎么打开看这里!如何在 Linux 中恢复仍在活动进程中的已删除文件

.lc文件怎么打开相关介绍,许多情况下,删除的文件都可以恢复,即使该文件有活动的进程在操作它,并且目前被单个或多个用户使用。 -- Mhnassif 本文导航 -计算原始文件的 MD5 哈希 …… 12% -删除文件的恢复过程...

.lc文件怎么打开?我来告诉你答案iPhone8“证据确凿” 没准就是这样了

.lc文件怎么打开?我来告诉你答案iPhone8“证据确凿” 没准就是这样了

.lc文件怎么打开相关介绍,产品:iphone 7(全网通)iphone 1精细到滑屏方式的专利 这些专利聚在一起的话,可能是iphone 8 你心里已经有iphone 8定型了吗? 笔者首先要承认,在iphone 8问世之前,...

.lc文件怎么打开看这里!iPhone8“证据确凿” 没准就是这样了

.lc文件怎么打开看这里!iPhone8“证据确凿” 没准就是这样了

.lc文件怎么打开相关介绍,产品:iphone 7(全网通)iphone 1精细到滑屏方式的专利 这些专利聚在一起的话,可能是iphone 8 你心里已经有iphone 8定型了吗? 笔者首先要承认,在iphone 8问世之前,...

.lc文件怎么打开看这里!查看一个归档或压缩文件的内容而无需解压它

.lc文件怎么打开看这里!查看一个归档或压缩文件的内容而无需解压它

.lc文件怎么打开相关介绍,编译来源: 作者:Sk 译者:常柳 在本教程中,您将学习如何在类Unix系统上查看归档文件或压缩文件的内容,而无需实际解压缩。 在深入之前,让我们先厘清归档和压缩文件的概念,它们之间有显著不同。归档是...

.lc文件怎么打开?终于找到答案了如何在 Linux 中恢复仍在活动进程中的已删除文件

.lc文件怎么打开?终于找到答案了如何在 Linux 中恢复仍在活动进程中的已删除文件

.lc文件怎么打开相关介绍,大多数情况下,即使激活的进程正在操纵文件,并且当前被单个用户或多个用户使用,也可以恢复删除的文件。 -- Mhnassif 本文导航 -计算原始文件的 MD5 哈希 …… 12% -删除文件的恢复过程...

.lc文件怎么打开

.lc文件怎么打开

.lc文件怎么打开相关介绍,产品:iPhone 7(全网通)苹果手机 1精细到滑屏方式的专利 这些专利凑一块儿 或许就是iPhone8 您心目中是不是已经有iPhone8定型了呢? 笔者首先要承认一点,iPhone8没有出来之前...

.lc文件怎么打开?我来告诉你答案如何在 Linux 中恢复仍在活动进程中的已删除文件

.lc文件怎么打开?我来告诉你答案如何在 Linux 中恢复仍在活动进程中的已删除文件

.lc文件怎么打开相关介绍,许多情况下,删除的文件都可以恢复,即使该文件有活动的进程在操作它,并且目前被单个或多个用户使用。 -- Mhnassif 本文导航 -计算原始文件的 MD5 哈希 …… 12% -删除文件的恢复过程...

.lc文件怎么打开?总结很全面速看!iPhone8“证据确凿” 没准就是这样了

.lc文件怎么打开?总结很全面速看!iPhone8“证据确凿” 没准就是这样了

.lc文件怎么打开相关介绍,产品:iPhone 7(全网通)苹果手机 1精细到滑屏方式的专利 这些专利凑一块儿 或许就是iPhone8 您心目中是不是已经有iPhone8定型了呢? 笔者首先要承认一点,iPhone8没有出来之前...