linux 下root用戶執行rm -rf /後,系統會有哪些反應,會立刻死機嗎?
rm -rf是個非常危險的操作,root也是個非常危險的用戶。大家用root執行過rm -rf /嗎?
不會,不過你刪的過程中會有很多報錯,刪完了你基本只能使用內建命令,正在運行的東西,只要它們不去讀新文件,基本不會有任何影響(當然有些影響就是,你如果開著httpd,那麼有可能404而且有可能讀不到404的頁面(很滑雞),sshd可能無法完成認證,這種)
一個比較弱的情況你可以用alt-sysrq-s, alt-sysrq-u掛載根為只讀來體驗一下類似的感覺……以及拔移動硬碟的體驗和刪光根的體驗是一樣的
不過不是所有的圖形界面都會死的。謝……謝邀?
首先正如其他答案所說,rm對根分區有特殊對待的保護措施(但也僅限於 / ,如果刪 /* 的話是沒有保護的),不加 --no-preserve-root 參數是不會真的刪掉/的。
如果真的刪掉 / 的話我當然是沒試過,不過遇到過最接近的情況是高中的時候在移動硬碟里裝了 linux 拿到班級電腦上用,結果USB介面接觸不良,用著用著根分區掉了……現象就是,圖形界面黑屏只剩滑鼠能動,切到 tty 終端輸出了一堆文件系統錯誤。當時沒有已登錄的 shell 可用,根沒了也沒法開新 shell 登錄,就沒法操作了。如果有登錄 shell 的話應該還能用內置命令。
估計刪根之後效果跟這個差不多,圖形界面(如果有的話)大概會死掉,字元終端不會死,但是無法開新進程,除了內置命令都會 command not found 。
親測,不會立刻死機!!我用kali linux ,默認的是root登陸,當時想刪除當前目錄下的文件,直接輸入了 rm -rf ./* 。 由於我大意,把.丟了導致輸了樓主所說命令。。。基本上所有命令全部失效,均提示找不到命令,至於桌面還是存在的,只是所有軟體基本都打不開了。。。所以,建議以後不要直接用root刪東西。。。
沒有執行過,
理論上說不會馬上死機,甚至不會死機,內核常駐內存,緩存中有部分文件系統,建議你搭個虛擬機試一下,
下面這個用root執行會死機::(){ : | : };:基本命令都還是能用的,但要是想訪問文件或者某些命令就不能用了。畢竟核心的東西都在內存當中。不過,一旦重啟就廢了。
我真的試過
不需要用這個指令驗證,用網卡啟動linux,搞個無盤linux,啟動之後拔掉網線,看看結果。除了文件操作報錯外,其他操作一切正常。
反正我這邊一點事都沒有,如果愛作死的話放心去執行吧。
這種問題自己開個虛擬機親自試一次不就清楚了,不知道有什麼可問的。
有一天和一個關係不錯的同學去上實驗課,那是最後一節實驗課,我們就想著,最後實驗做完,做點啥,我們倆就一起想到了,運行一下這個rm -rf這個命令[手動滑稽]
剛開始還運行一些基本的命令,進行操作,後來我們運行完這個命令,系統並沒有死機,也並沒有看起來有啥可怕的,只是一些命令就用不了了
對了,走之前還把實驗室電腦的window系統上裝了六個殺毒軟體,看著他們互相殺,然後就死機了。。。。。不會立刻死機,這個好危險
自己開個虛擬機跑一下就知道了,
剛手殘的怒答一番,執行之後,並沒有什麼反應,從xshell斷開重連後,你會發現報錯…
我們退租伺服器的時候就是rm -fr / --no-preserve-root ,執行完之後還能執行shutdown -h now。
Arch論壇上有人用這條命令把電腦刪成磚的。UEFI固件損壞。原因是uefi var節點掛載為RW了。所以,作死需謹慎。
虛擬機試試就知道了,不死機,除了shell內建命令都用不了了,重啟進入grub,但執行不了grub命令,掛載磁碟文件都被刪除,但還有部分目錄沒有被刪除例如sys、proc等。
剛入職的時候,在伺服器上寫bash腳本,手生,不小心這個 rm -rf /* 就被執行了。。。
當時首先沒有立即死機,但絕大多數常用命令都用不了,比如ls, cp什麼的。
文件數據什麼的嘛,當然是都沒有了。。。
心裏面嘛,也是空空的,,,
這個梗同事們一直笑到我退職。。
推薦閱讀:
※在Android的發展歷程中有沒有什麼有趣的故事或者小細節?
※如何評價NetHack?
※Linux 大爆炸:一個內核,無數發行版
※庫文件與系統調用