Linux
Linux 在 rm -rf –no-preserve-root / 之後繼續執行
我已經完成了搜尋,但找不到任何答案。
執行“ rm –no-preserve-root -rf / ”後,bash 告訴我以下資訊:
- rm: 無法刪除 /proc/*: 不允許操作 …
- rm: 無法刪除 /etc: 設備或資源忙 …
首先,由於所有文件都被刪除,操作顯然成功完成。如果是這樣,它為什麼會說這樣的話?
其次,當核心(更像是一切)消失時,我如何仍然在我的虛擬 CentOS 機器上執行。是否有任何類型的會話可以讓電腦繼續執行?
第三,系統最後把我扔到“ / ”目錄下。當我呼叫“ ll -a ”時,“沒有這樣的文件或目錄”。但是如果我呼叫“ cd /etc ”,bash 會讓我去那裡(!?)。我什至叫了“ cd .. ”然後又回到了“ / ”。
我認為這些與硬連結和 inode 有關,但我還沒有找到任何明確的解釋。
我不想成為一個沒有看到光明的“luser”(Machtelt Garrels P.9 的 Linux 介紹):(
由於您看到的錯誤消息指出的各種原因,某些文件和目錄沒有被刪除。
/proc
內容不能刪除;並且任何繁忙的目錄也不能被刪除。但是,您的大部分系統已被刪除,包括 等中的所有/bin
命令/usr/bin
。該系統繼續執行,因為 Linux 與其他 Unix 風格的系統一樣,只要任何程序打開文件和目錄,它們就會保留文件和目錄。刪除正在使用的文件會將其從目錄中刪除,因此它不再可見,但任何已經使用它的程序都可以繼續訪問它。
執行
ll -a
會產生錯誤,不是因為沒有文件,而是因為ls
不再可以執行。要查看哪些文件仍然存在,請執行echo *
;這是由 shell 處理的,並將繼續工作,cd
這顯然也對你有用。