1. <wbr id="cnjas"><legend id="cnjas"></legend></wbr>

          Linux培訓
          達內IT學院

          400-111-8989

          如何在Linux中恢復仍在活動進程中的已刪除文件?

          • 發布:Linux培訓
          • 來源:Linux教程
          • 時間:2017-07-21 15:55

          使用終端恢復你 Linux 系統上仍在運行進程的已刪除文件的快速指南。

          許多情況下,刪除的文件都可以恢復,比如在該文件有活動的進程在操作它,并且目前被單個或多個用戶使用時。在 Linux 系統中,每個當前正在運行的進程都會獲得 ID,其被稱之為進程標識符 “PID”,并將它們存放在 /proc 目錄中。這正是我們恢復仍在運行的進程中(具有PID)已刪除的文件所需要的東西。這里就是介紹我們如何做到這一點的。

          假設你打開了一個壓縮文件,之后你刪除了這個文件。為了演示目的,壓縮文件稱為 “opengapps.zip”,這將是之后我們將打開和刪除的文件。

          計算原始文件的 MD5 哈希

          刪除之前,我們將計算該文件的 MD5。這樣我們可以將原來的 MD5 哈希值與恢復文件的 MD5 哈希進行比較。這個過程將保證我們恢復的壓縮文件的完整性是一樣的,它沒有被破壞。

          md5sum opengapps.zip >> md5-opengapps.txt

          要顯示文本文件的內容。

          cat md5-opengapps.txt 86489b68b40d144f0e00a0ea8407f7c0 opengapps.zip

          檢查壓縮文件的 MD5 哈希值之后。我們將壓縮文件保持打開(LCTT 譯注:此處是使用 file-roller 這個圖形界面的解壓程序保持對該壓縮文件的打開,其內置在 GNOME 環境中;在桌面環境中,使用桌面工具打開一個壓縮包也能起到同樣的作用。又及,本文舉例不是很恰當,如果是刪除了某個服務進程的已經打開的配置文件,那么這種恢復就很有意義),并將其刪除。之后,我們將從文件的恢復過程開始,步驟如下:

          rm opengapps.zip

          刪除文件的恢復過程

          正如我們前面提到的,運行的進程在 /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/opengapps.zip 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/opengapps.zip (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]

          正如你在終端輸出中看到的,原始文件 “opengapps.zip” 已被刪除,但它仍然鏈接到一個文件名 13,其進程 PID 13119。但是,我們仍然可以通過將鏈接的文件復制到安全的地方來恢復它。

          cp 13 /home/m/Downloads/Compressed

          文件復制后。我們將返回包含恢復文件的目錄,并使用以下命令重命名它。

          mv 13 opengapps-recovered.zip

          計算恢復文件的 MD5 哈希

          由于我們已經恢復了該文件。讓我們檢查該文件的完整性,這只是為了確保文件沒有損壞,并且和原來一樣。早先我們保存了原始文件的 MD5 哈希值。

          md5sum opengapps-recovered.zip >> md5-opengapps.txt

          該命令將檢查文件的 MD5 哈希值,并在文件中追加新恢復文件的 MD5 哈希值,以輕松比較兩個 MD5 哈希值。

          可以顯示文本文件的內容來比較原始文件和恢復文件的 MD5 哈希值。

          cat md5-opengapps.txt 86489b68b40d144f0e00a0ea8407f7c0 opengapps.zip 86489b68b40d144f0e00a0ea8407f7c0 opengapps-recovered.zip

          恢復文件的 MD5 哈希是一樣的。所以,我們成功地恢復了我們以前刪除的文件,并且恢復后文件完整性一致,并且工作正常。

          注意: 在某些情況下,某些文件無法通過 ps -axu 命令看到。 所以,嘗試檢查運行的程序,并從中恢復文件。

          假設我們有一個使用 Totem 媒體播放器播放中的以 .avi 為擴展名的視頻。你需要做的就是檢查 Totem 的 PID,并按照本示例中提到的相同說明進行操作。

          要查找正在運行的程序的 PID,請使用以下命令,后面跟程序的名稱。

          pidof 程序名

          通過分享支持我們。

          預約申請免費試聽課

          填寫下面表單即可預約申請免費試聽!怕錢不夠?可就業掙錢后再付學費! 怕學不會?助教全程陪讀,隨時解惑!擔心就業?一地學習,可全國推薦就業!

          上一篇:在調試器里看Windows 10的Linux子系統
          下一篇:1000多個人推薦的30個實用的Linux命令
          • 掃碼領取資料

            回復關鍵字:視頻資料

            免費領取 達內課程視頻學習資料

          • 視頻學習QQ群

            添加QQ群:1143617948

            免費領取達內課程視頻學習資料

          Copyright ? 2021 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

          選擇城市和中心
          黑龍江省

          吉林省

          河北省

          湖南省

          貴州省

          云南省

          廣西省

          海南省

          欧美做爰视频免费播放_做暖全过程免费的视频_性爱免费视频 百度 好搜 搜狗
          <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>