刪除如果不正確的話會破壞操作系統(tǒng),但是這種情況還很容易發(fā)生,那么這個命令為什么還需要學習執(zhí)行呢?在經過尋找之后我看到了Ben N的回答:以root身份登錄或使用sudo,實際上是在對機器說:“我知道我在做什么。”防止人們做出可疑事情通常也會阻止他們做出聰明的事情。
此外,還有一個非常好的理由允許用戶對根目錄進行操作:徹底刪除操作系統(tǒng)和文件系統(tǒng)以使計算機退役。(危險!在某些UEFI系統(tǒng)上,rm -rf / 也可能會損害物理機器。)
顯然,人們不小心執(zhí)行了這個命令,以至于增加了一個安全功能。rm -rf /在大多數系統(tǒng)上什么也不做,還提供了-no-preserve-root,并且你無法偶然輸入。這也有助于防范寫得不好但是意圖良好的shell腳本。
意思就是如果沒有指定–no-preserve-root這個參數,GNU rm 將拒絕執(zhí)行這個命令,并且只輸入rm -rf /也并不會執(zhí)行刪除根目錄下文件。試驗如下:
![](/d/file/p/2018/06-13/006f35f71a401e09c2be9239133caff9.jpg)
執(zhí)行了rm -rf /*的結果如下,正在瘋狂的刪除系統(tǒng)文件:
![](/d/file/p/2018/06-13/f9383e6f5d7f3a36769fd466fe890118.jpg)
但是過了一會沒有反應了,按下Ctrl + C停止,頁面如下,還是可以出現(xiàn)輸入框:
![](/d/file/p/2018/06-13/4d5c4417a98bdde9e70d3dc559928d6c.jpg)
雖然一些命令無法使用,但是到可以隨意切換目錄:
![](/d/file/p/2018/06-13/e1d3e3c5dabdd1a528bc22e7b1203b7a.jpg)
這就意味著有些系統(tǒng)文件還是刪不掉的,執(zhí)行一些相關命令看樣子還是可以執(zhí)行的,所以正如Ben N所說,當你使用root用戶登錄,或者使用sudo使用這條命令時 ,就在對系統(tǒng)表示“我知道我能做什么,我很清楚自己做的事情意味著什么”或者大家也可以這樣認為Linux在設計這條危險的命令時,并沒有屏蔽,是因為在我想讓我的電腦退役時,刪除電腦的文件。
所以在一般使用Linux是,一般不要使用權限過大的用戶,對于一些常需要操作的目錄大家可以使用root用戶設置權限為777,或者是將你常用的用戶加入root用戶組等等,這樣也方便操作,也能防止一些初學者的誤操作導致系統(tǒng)崩潰等。
上一個教程:在Linux中誤刪文件,你知道怎么恢復嗎?
下一個教程:關于增量刪除和海量刪除!