本來想刪公司伺服器,經同事勸解,改為刪本人電腦vmware上的虛擬機器。
rm -rf /*
一個流傳甚廣的命令,刪庫命令,自毀命令說的都是他,常年霸佔Linux最危險命令排行榜第一名。關於它的故事有很多
事故一
今天去一公司面試,他們要我寫個shell,我在他們的伺服器輸入rm -rf /*,回車,他們現在不讓我走了,我想問問我是不是被錄取了?
事故二
某技術討論群裡
問:Linux優化命令是什麼?
答: rm -rf /*
問:好的,我試一下,多謝!
問:臥槽 我網站打不開了! 現在怎麼辦?
答:跑路吧
事故三
一個新來的妹子想解除安裝Oracle,執行了 rm -rf $ORACLE_BASE/*
可是ORACLE_BASE 這個變數沒有賦值。就這樣,全刪了。。全刪了
命令真正含義:刪除根目錄"/"下所有檔案和目錄,有子目錄的遞迴刪除。
刪庫過程
vmware上裝的Red Hat Enterprise Linux Server release 6.6,沒安裝其它應用。
切換到root賬號,執行rm -rf /*
可以看到滿屏的cannot remove報錯,由於是個剛裝完的系統,都是系統本身的檔案,沒有引入外界的檔案,很快命令執行完畢。
中間省略好幾屏,不能刪的報錯,能刪的就什麼都不提示。
然後命令列裡ls reboot shutdown命令都無法識別了,想關機或者重啟都不行。cd命令還好使。
這個時候securecrt也連不上了,據說如果刪庫之前連線上了,現在可以使用。
到Linux桌面,點選滑鼠後桌面圖示全部消失,還好system->shutdown 可以關閉虛擬機器。
但是卡在下面位置不動了
點選vmware選單欄的下拉關機按鈕 ,彈窗報錯“發出的關機請求失敗”
想叉掉,沒有反應。虛擬機器->管理->從磁碟刪除 是灰色的無法點選。檢視控制檯檢視,開啟虛擬機器是灰色操作不了
徹底關閉vmware軟體 ,彈窗報錯“虛擬機器繁忙”
工作管理員結束vmware任務,可以退出虛擬機器,重新啟動看看
再次點選開啟此虛擬機器,卡死在vmware介面
但是可以叉掉。
如果vmware重新開啟虛擬機器vmx檔案,可以進入grub引導介面,引導操作不可能成功,因為缺少太多檔案了。
實驗結論
- 刪庫後, 各種命令除了cd都不好使了,處於無法使用的狀態。
- 桌面操作也基本不行了,能執行system->shutdown關機,但關機無法成功完成。
- 真實的物理機應該大同小異,無法繼續使用是肯定的,不同的是物理機可以按電源按鈕斷電,然後觀察重啟的反應。
- 做了這個事後,我用vmware重新安裝虛擬機器,重灌的虛擬機器都不太好使了,經常開虛擬機器後卡在開機畫面進不去系統。vmware解除安裝再安裝也沒行。後來改用vbox裝虛擬機器了。
刪了庫一定要跑路嗎
網友提供了以下經驗
發現刪庫了,馬上ctrl+c掐斷執行的命令和指令碼,少刪一個是一個。會有少量命令在刪庫後還是好使的,這些命令能幫助恢復部分其它命令。然後從其它伺服器拷貝檔案到本機,補齊被刪檔案。只是能補齊作業系統本身的檔案。
拆下硬碟放到其它伺服器,然後使用ext3grep或者extundelete,據說有成功恢復部分資料的。萬一那部分就是最重要的資料,那損失就很小了。