Linux手誤rm可能不需要跑路
對於在Linux系統下誤刪除的文件,我們是否真的無法透過軟體進行復原?
#檔案復原可以分為兩種情況
- 一種是刪除後進程仍然存在刪除訊息
- # 另一種是刪除後進程都找不到,只能藉助工具來復原。
今天我們只討論檔案被刪除後,相關進程仍然存在的情況
「
#這種情況通常是有活動的進程持續進行標準輸入或輸出,導致檔案被刪除後,進程PID仍然存在。這也是為什麼有些伺服器刪除某些檔案但磁碟空間不釋放的原因。
」
#已收到訊息. 對於在Linux系統下誤刪除的文件,我們是否真的無法透過軟體進行恢復?
檔案復原可以分為兩種情況 – 一種是刪除後進程仍然存在刪除資訊 – 另一種是刪除後進程都找不到,只能藉助工具進行復原。今天我們只討論檔案被刪除後,相關進程仍然存在的情況 > 這種情況通常是有活動的進程持續進行標準輸入或輸出,導致檔案被刪除後,進程PID仍然存在。這也是為什麼有些伺服器刪除某些檔案但磁碟空間不釋放的原因。
案例示範建立一個檔案
#
> vim rumenz.txt
123
//保存退出
> cat rumenz.txt
123
用tail -f
開啟rumenz.txt
檔案「
rumenz.txt
#目的是讓
被刪除後,進程依然存在
」
#
> tail -f rumenz.txt
新開一個終端刪除rumenz.txt
> rm -f rumenz.txt
找到佔用rumenz.txt
的流程- lsof查看刪除的檔案進程是否還存在。
- 如沒有安裝請自行yum install lsof或apt-get install lsof
> lsof | grep delete | grep rumenz tail 10222 root 3r REG 253,1 4 70911074 /root/test/rumenz.txt (deleted)「#######进程ID是10222,从上面可以看出,当前文件状态为已删除(deleted)
”
恢复文件
- /proc/10222/fd:进程操作的文件描述符目录
> cd /proc/10222/fd > ls -al dr-x------ 2 root root 0 May 11 21:41 . dr-xr-xr-x 9 root root 0 May 11 21:41 .. lrwx------ 1 root root 64 May 11 21:41 0 -> /dev/pts/1 lrwx------ 1 root root 64 May 11 21:41 1 -> /dev/pts/1 lrwx------ 1 root root 64 May 11 21:41 2 -> /dev/pts/1 lr-x------ 1 root root 64 May 11 21:41 3 -> /root/test/rumenz.txt (deleted) lr-x------ 1 root root 64 May 11 21:41 4 -> anon_inode:inotify
“
开始恢复文件
”
> cp 3 /root/test/rumenz.txt > cat /root/test/rumenz.txt 123
能恢复的根本原因
“
当程序运行时,操作系统会专门开辟一块内存区域,提供给当前进程使用,对于依赖的文件,操作系统会发放一个文件描述符,以便读写文件,当我们执行
rm -f
删除文件时,其实只是删除了文件的目录索引节点,对于文件系统不可见,但是对于打开它的进程依然可见,即仍然可以使用先前发放的文件描述符读写文件,正是利用这样的原理,所以我们可以使用I/O重定向的方式来恢复文件。”
以上是Linux手誤rm可能不需要跑路的詳細內容。更多資訊請關注PHP中文網其他相關文章!

介紹 Linux是一個強大的操作系統,由於其靈活性和效率,開發人員,系統管理員和電源用戶都喜歡。但是,經常使用長而復雜的命令可能是乏味的

Linux適用於服務器、開發環境和嵌入式系統。 1.作為服務器操作系統,Linux穩定高效,常用於部署高並發應用。 2.作為開發環境,Linux提供高效的命令行工具和包管理系統,提升開發效率。 3.在嵌入式系統中,Linux輕量且可定制,適合資源有限的環境。

簡介:通過基於Linux的道德黑客攻擊數字邊界 在我們越來越相互聯繫的世界中,網絡安全至關重要。 道德黑客入侵和滲透測試對於主動識別和減輕脆弱性至關重要

Linux基礎學習從零開始的方法包括:1.了解文件系統和命令行界面,2.掌握基本命令如ls、cd、mkdir,3.學習文件操作,如創建和編輯文件,4.探索高級用法如管道和grep命令,5.掌握調試技巧和性能優化,6.通過實踐和探索不斷提陞技能。

Linux在服務器、嵌入式系統和桌面環境中的應用廣泛。 1)在服務器領域,Linux因其穩定性和安全性成為託管網站、數據庫和應用的理想選擇。 2)在嵌入式系統中,Linux因其高度定制性和高效性而受歡迎。 3)在桌面環境中,Linux提供了多種桌面環境,滿足不同用戶需求。

Linux的缺點包括用戶體驗、軟件兼容性、硬件支持和學習曲線。 1.用戶體驗不如Windows或macOS友好,依賴命令行界面。 2.軟件兼容性不如其他系統,缺乏許多商業軟件的原生版本。 3.硬件支持不如Windows全面,可能需要手動編譯驅動程序。 4.學習曲線較陡峭,掌握命令行操作需要時間和耐心。

Linuxisnothardtolearn,butthedifficultydependsonyourbackgroundandgoals.ForthosewithOSexperience,especiallycommand-linefamiliarity,Linuxisaneasytransition.Beginnersmayfaceasteeperlearningcurvebutcanmanagewithproperresources.Linux'sopen-sourcenature,bas

Linux的五個基本組件是:1.內核,管理硬件資源;2.系統庫,提供函數和服務;3.Shell,用戶與系統交互的接口;4.文件系統,存儲和組織數據;5.應用程序,利用系統資源實現功能。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver CS6
視覺化網頁開發工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SublimeText3 Linux新版
SublimeText3 Linux最新版