当前位置: 首页 > 科技观察

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

时间:2023-03-19 01:24:31 科技观察

使用终端恢复在Linux系统上仍在运行进程的已删除文件的快速指南。在许多情况下可以恢复已删除的文件,例如当文件有一个活动的进程在操作它并且当前正在被一个或多个用户使用时。在Linux系统中,每个当前运行的进程都会得到一个ID,称为进程标识符“PID”,并将它们存放在/proc目录下。这正是我们在仍在运行的进程(具有PID)中恢复已删除文件所需要的。我们是这样做的。假设您打开了一个压缩文件,后来又删除了该文件。出于演示目的,压缩文件名为“opengapps.zip”,这将是我们稍后打开和删除的文件。计算原始文件的MD5哈希在我们删除它之前,我们将计算文件的MD5。这样我们就可以将原始MD5哈希值与恢复文件的MD5哈希值进行比较。这个过程将保证我们恢复的压缩文件的完整性是一样的,它没有被破坏。md5sumopengapps.zip>>md5-opengapps.txt显示文本文件的内容。catmd5-opengapps.txt86489b68b40d144f0e00a0ea8407f7c0opengapps.zip检查压缩文件的MD5哈希后。我们保持打开压缩文件(LCTT译注:这里是使用file-rollerGUI解压程序来保持压缩文件打开,这是GNOME环境自带的;在桌面环境下,使用桌面工具打开一个压缩包也可以起到同样的作用,另外,本文的例子不是很恰当,如果删除了一个服务进程打开的配置文件,那么这种恢复就很有意义)和删除。之后,我们就从文件的恢复过程开始,步骤如下:ropengapps.zip删除文件的恢复过程前面我们提到,运行的进程在/proc目录下。我们可以使用以下命令在此目录中搜索所需的进程:由于我们已经知道文件名包含.zip扩展名,因此我们可以使用.zip扩展名进行搜索。它将限制输出并显示所需的过程。ps-axu|grep.zipm131190.81.012178830788?Sl06:170:00file-roller/home/m/Downloads/Compressed/opengapps.zipm131640.00.05108832pts/20S+06:180:00grep--color=auto.zip然后我们将切换到包含PID13119的目录并打开fd子目录。cd/proc/13119/fdfd(文件描述符)目录包含几个文件,包括我们需要恢复的文件。此文件作为硬链接链接到原始文件。fd目录中的所有文件都以数字方式链接到“文件名”。因此,为了确定这些文件中的哪些链接到原始文件,我们将使用详细列表选项列出/fd目录。ls-ltotal0lr-x-----1mm64Jul1406:170->/dev/nulllrwx-----1mm64Jul1406:171->socket:[26161]lrwx-----1mm64Jul1406:1710->anon_inode:[eventfd]lr-x-----1mm64Jul1406:1711->anon_inode:inotifylrwx-----1mm64Jul1406:1712->套接字:[5752671]lr-x-----1mm64Jul1406:1713->/home/m/Downloads/Compressed/opengapps.zip(已删除)lrwx-----1mm64Jul1406:172->socket:[26161]lrwx-----1mm64Jul1406:173->anon_inode:[eventfd]lrwx------1mm64Jul1406:174->anon_inode:[eventfd]lrwx------1mm64Jul1406:175->socket:[5751361]lrwx-----1mm64Jul1406:176->anon_inode:[eventfd]lrwx------1mm64Jul1406:177->anon_inode:[eventfd]lrwx------1mm64Jul1406:178->socket:[5751363]lrwx------1mm64Jul1406:179->socket:[5751365]正如您在终端输出中看到的那样,原始文件“opengapps.zip”已被删除,但它仍然链接到进程PID为13119的文件名13。但是,我们仍然可以通过将链接文件复制到一个安全的地方。复制cp13/home/m/Downloads/Compressed文件后。我们将返回包含恢复文件的目录并使用以下命令重命名它。mv13opengapps-recovered.zip计算恢复文件的MD5哈希,因为我们已经恢复了文件。让我们检查一下这个文件的完整性,这只是为了确保文件没有损坏并且保持原样。之前我们保存了原始文件的MD5哈希值。md5sumopengapps-recovered.zip>>md5-opengapps.txt此命令将检查文件的MD5哈希值并将新恢复文件的MD5哈希值附加到文件中,以便轻松比较两个MD5哈希值。可以显示文本文件的内容,以比较原始文件和恢复文件的MD5哈希值。catmd5-opengapps.txt86489b68b40d144f0e00a0ea8407f7c0opengapps.zip86489b68b40d144f0e00a0ea8407f7c0opengapps-recovered.zip恢复文件的MD5哈希值相同。因此,我们成功恢复了之前删除的文件,文件完整性一致且工作正常。注意:在某些情况下,某些文件无法通过ps-axu命令查看。因此,请尝试检查正在运行的程序并从中恢复文件。假设我们有一个在Totem媒体播放器中播放的带有.avi扩展名的视频。您需要做的就是检查Totem的PID并按照本示例中提到的相同说明进行操作。要查找正在运行的程序的PID,请使用以下命令后跟程序名称。pidofprogramname通过分享来支持我们。