首頁 系統教程 Linux 告別在 Linux 中誤刪檔案的憂慮,媽媽再也不用擔心

告別在 Linux 中誤刪檔案的憂慮,媽媽再也不用擔心

Dec 30, 2023 pm 03:55 PM
linux linux教程 紅帽 linux系統 linux指令 linux認證 紅帽linux linux視頻

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

許多情況下,刪除的檔案都可以恢復,例如在該檔案有活動的進程在操作它,並且目前被單一或多個使用者使用時。在 Linux 系統中,每個目前正在運行的進程都會獲得 ID,其稱為進程標識符 “PID”,並將它們存放在 /proc 目錄中。這正是我們恢復仍在運行的進程中(具有PID)已刪除的檔案所需要的。

計算原始檔案的 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 哈希是一樣的。所以,我們成功地恢復了我們以前刪除的文件,並且恢復後文件完整性一致,並且工作正常。

妈妈再也不用担心在 Linux 中误删除文件了

#注意: 在某些情況下,某些檔案無法透過 ps -axu 指令看到。所以,嘗試檢查運行的程序,並從中恢復檔案。

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

要尋找正在執行的程式的 PID,請使用以下命令,後面跟著程式的名稱。

pidof 程序名
登入後複製

以上是告別在 Linux 中誤刪檔案的憂慮,媽媽再也不用擔心的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

centos和ubuntu的區別 centos和ubuntu的區別 Apr 14, 2025 pm 09:09 PM

CentOS 和 Ubuntu 的關鍵差異在於:起源(CentOS 源自 Red Hat,面向企業;Ubuntu 源自 Debian,面向個人)、包管理(CentOS 使用 yum,注重穩定;Ubuntu 使用 apt,更新頻率高)、支持週期(CentOS 提供 10 年支持,Ubuntu 提供 5 年 LTS 支持)、社區支持(CentOS 側重穩定,Ubuntu 提供廣泛教程和文檔)、用途(CentOS 偏向服務器,Ubuntu 適用於服務器和桌面),其他差異包括安裝精簡度(CentOS 精

centos如何安裝 centos如何安裝 Apr 14, 2025 pm 09:03 PM

CentOS 安裝步驟:下載 ISO 映像並刻錄可引導媒體;啟動並選擇安裝源;選擇語言和鍵盤佈局;配置網絡;分區硬盤;設置系統時鐘;創建 root 用戶;選擇軟件包;開始安裝;安裝完成後重啟並從硬盤啟動。

Centos停止維護後的選擇 Centos停止維護後的選擇 Apr 14, 2025 pm 08:51 PM

CentOS 已停止維護,替代選擇包括:1. Rocky Linux(兼容性最佳);2. AlmaLinux(與 CentOS 兼容);3. Ubuntu Server(需要配置);4. Red Hat Enterprise Linux(商業版,付費許可);5. Oracle Linux(與 CentOS 和 RHEL 兼容)。在遷移時,考慮因素有:兼容性、可用性、支持、成本和社區支持。

docker desktop怎麼用 docker desktop怎麼用 Apr 15, 2025 am 11:45 AM

如何使用 Docker Desktop? Docker Desktop 是一款工具,用於在本地機器上運行 Docker 容器。其使用步驟包括:1. 安裝 Docker Desktop;2. 啟動 Docker Desktop;3. 創建 Docker 鏡像(使用 Dockerfile);4. 構建 Docker 鏡像(使用 docker build);5. 運行 Docker 容器(使用 docker run)。

docker原理詳解 docker原理詳解 Apr 14, 2025 pm 11:57 PM

Docker利用Linux內核特性,提供高效、隔離的應用運行環境。其工作原理如下:1. 鏡像作為只讀模板,包含運行應用所需的一切;2. 聯合文件系統(UnionFS)層疊多個文件系統,只存儲差異部分,節省空間並加快速度;3. 守護進程管理鏡像和容器,客戶端用於交互;4. Namespaces和cgroups實現容器隔離和資源限制;5. 多種網絡模式支持容器互聯。理解這些核心概念,才能更好地利用Docker。

centos停止維護後怎麼辦 centos停止維護後怎麼辦 Apr 14, 2025 pm 08:48 PM

CentOS 停止維護後,用戶可以採取以下措施應對:選擇兼容髮行版:如 AlmaLinux、Rocky Linux、CentOS Stream。遷移到商業發行版:如 Red Hat Enterprise Linux、Oracle Linux。升級到 CentOS 9 Stream:滾動發行版,提供最新技術。選擇其他 Linux 發行版:如 Ubuntu、Debian。評估容器、虛擬機或云平台等其他選項。

怎麼看docker進程 怎麼看docker進程 Apr 15, 2025 am 11:48 AM

Docker 進程查看方法:1. Docker CLI 命令:docker ps;2. Systemd CLI 命令:systemctl status docker;3. Docker Compose CLI 命令:docker-compose ps;4. Process Explorer(Windows);5. /proc 目錄(Linux)。

docker鏡像失敗怎麼辦 docker鏡像失敗怎麼辦 Apr 15, 2025 am 11:21 AM

Docker鏡像構建失敗的故障排除步驟:檢查Dockerfile語法和依賴項版本。檢查構建上下文中是否包含所需源代碼和依賴項。查看構建日誌以獲取錯誤詳細信息。使用--target選項構建分層階段以識別失敗點。確保使用最新版本的Docker引擎。使用--t [image-name]:debug模式構建鏡像以調試問題。檢查磁盤空間並確保足夠。禁用SELinux以防止干擾構建過程。向社區平台尋求幫助,提供Dockerfile和構建日誌描述以獲得更具體的建議。

See all articles