我刪除了桌面,一切都凍結了。我做了什麼?

我刪除了桌面,一切都凍結了。我做了什麼?

因此,我正在進行即時磁碟實驗(使用外部 HHD 作為即時磁碟),並編寫了一個腳本,在我阻止它之前在我的桌面上創建了 9,023 個目錄。作為菜鳥,我運行了這個命令來清理我的混亂:

rm -rf Desktop 

然後在我的主目錄中建立一個名為 Desktop 的新資料夾。我的電腦工作了幾秒鐘,然後除了滑鼠之外的所有東西都凍結了。值得慶幸的是,所有內容都在實時磁碟上,因此沒有丟失任何內容,但我想知道我實際上做了什麼。

我嘗試用​​谷歌搜尋“ubuntu刪除桌面目錄”和其他變體,但我得到的只是人們試圖擺脫它,而不是把它帶回來。

編輯:有人對我運行的叉子炸彈感興趣。別笑:

while true; do
for i in a; do
declare b=b+1
mkdir "$b" 
done
done

我有點猜測它會做什麼,但我習慣於使用 Python,在它變得太失控之前我可以快速殺死它。

對於將來某個時候讀到這篇文章的任何人:不要運行那個叉子炸彈,它會弄得一團糟。

PS 在你說我這樣做是多麼愚蠢之前,請注意,我在一個實時磁碟中,該磁碟是為了做類似的事情而留出的,以便我可以學習。

答案1

最好使用 Live USB 來完成此操作,否則幾乎肯定會丟失一些資料。之後的清理工作會浪費大量時間。

首先,您運行了所謂的叉子炸彈。 fork 炸彈是一個簡單且經常被混淆的命令,它會不斷產生新的進程、資料夾或文件,直到填滿磁碟空間、佔用 CPU 週期或耗盡所有 RAM。這會導致電腦凍結,因為它沒有更多的資源可以提供。

其次,您刪除了您所看到的 DE(桌面環境),它是您與之互動的圖形,您打開的視窗(有點 - 有一個視窗管理器,但我們現在將跳過它)。基本上,你殺死了所有可以點擊的東西。

學習一下就好了。在終端機中輸入命令之前,請使用您最喜歡的搜尋引擎。在按下 之前,一定要知道該指令的作用ENTER。我怎麼強調都不為過。有些人會故意誤導你。終端是一個潛在的強大工具。它是您工具箱中最強大的工具,但與所有工具一樣,必須小心使用它。

如果您告訴我們叉子炸彈的命令是什麼,我們也許能夠消化它並準確地告訴您它做了什麼以及為什麼。你看起來是個好奇的人,所以也許你也想了解這一點?


編輯:

您現在已經包含了 fork 炸彈的程式碼。我會將其包括給下一個人。如果你看一下它並解析邏輯,你可以看到它說只要條件存在(為真)就做某事(創建一個枚舉目錄),並且因為沒有任何東西告訴它停止(循環),它會一直持續下去,直到資源耗盡、RAM 耗盡,或直到發生某種衝突導致系統凍結。 (這可能是各種原因,例如記憶體洩漏,但這可能不是這裡的一個因素。)

從事情的聲音來看,或者從我讀到的內容來看,你似乎做得很好。這是對其他人的明確警告,不要運行您的程式碼(您應該使用編輯功能將其添加到您的帖子中,或者如果您願意,其他人也可以)。這是有創意的。我認為我從未見過這樣做的方式,但所有這些的理論幾乎都是相同的。同樣,對於其他人來說,這可能隱藏在混淆的程式碼中,或者如果您不知道如何解析 Perl(作為範例),您可能根本無法理解程式碼。這是不該做的事情的一個很好的例子。

我敢說,你應該完成安裝並享受更多樂趣。只要保留備份即可。

答案2

重新啟動,從虛擬控制台重新建立桌面目錄,然後再次登入桌面應該可以修復它。您的電腦崩潰可能是因為您運行了fork 炸彈,也可能是因為您的桌面目錄在您的桌面環境嘗試使用它時消失了,但無論哪種情況,我建議的修復都會修復它(儘管您已經遺失了桌面上的所有內容)。

答案3

不,這不是 forkbomb,因為 forkbomb 會重複運行一個程序,直到你的 cpu 耗盡為止,不過你可能對 zip 炸彈感興趣,這是一個壓縮後的 zip 文件,看起來幾乎不包含任何數據,比如 42 .zip 包含42 kbs 的壓縮數據,它會提取zip 文件,哦不,你有TB 的數據,計算機無法處理這些東西,你的計算機現在會反复崩潰,基本上炸彈是一個存在危害的程序你的CPU 。但是你刪除了核心系統文件,就像刪除Windows 中的C: 驅動器並創建一個新驅動器一樣,你的C: 驅動器包含Windows 上的重要文件,所以如果你刪除了你的作業系統,那麼C:/ Windows/ 在哪裡AUTOEXEC.bat,您的電腦現在將不再啟動。

相關內容