1. 程式人生 > >都別攔著我,我要刪庫了

都別攔著我,我要刪庫了

本來想刪公司伺服器,經同事勸解,改為刪本人電腦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 /* ![](https://gitee.com/xllntl/picture/raw/master/2020-10-12/1602470109805-%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20200508091318.png) 可以看到滿屏的cannot remove報錯,由於是個剛裝完的系統,都是系統本身的檔案,沒有引入外界的檔案,很快命令執行完畢。 ![](https://gitee.com/xllntl/picture/raw/master/2020-10-12/1602470194563-%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20200508091524.png) 中間省略好幾屏,不能刪的報錯,能刪的就什麼都不提示。 ![](https://gitee.com/xllntl/picture/raw/master/2020-10-12/1602470194575-%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20200508091653.png) 然後命令列裡ls reboot shutdown命令都無法識別了,想關機或者重啟都不行。cd命令還好使。 ![](https://gitee.com/xllntl/picture/raw/master/2020-10-12/1602470287536-%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20200508091729.png) ![](https://gitee.com/xllntl/picture/raw/master/2020-10-12/1602470338140-%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20200508092233.png) 這個時候securecrt也連不上了,據說如果刪庫之前連線上了,現在可以使用。 ![](https://gitee.com/xllntl/picture/raw/master/2020-10-12/1602470386629-%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20200508091914.png) 到Linux桌面,點選滑鼠後桌面圖示全部消失,還好system->shutdown 可以關閉虛擬機器。 ![](https://gitee.com/xllntl/picture/raw/master/2020-10-12/1602470449754-%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20200508092303.png) 但是卡在下面位置不動了 ![](https://gitee.com/xllntl/picture/raw/master/2020-10-12/1602470495596-%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20200508092422.png) 點選vmware選單欄的下拉關機按鈕 ,彈窗報錯“發出的關機請求失敗” ![](https://gitee.com/xllntl/picture/raw/master/2020-10-12/1602470577564-%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20200508092629.png) 想叉掉,沒有反應。虛擬機器->管理->從磁碟刪除 是灰色的無法點選。檢視控制檯檢視,開啟虛擬機器是灰色操作不了 ![](https://gitee.com/xllntl/picture/raw/master/2020-10-12/1602470631628-%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20200508092733.png) 徹底關閉vmware軟體 ,彈窗報錯“虛擬機器繁忙” ![](https://gitee.com/xllntl/picture/raw/master/2020-10-12/1602470689644-%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20200508093103.png) 工作管理員結束vmware任務,可以退出虛擬機器,重新啟動看看 ![](https://gitee.com/xllntl/picture/raw/master/2020-10-12/1602470732518-%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20200508093408.png) 再次點選開啟此虛擬機器,卡死在vmware介面 ![](https://gitee.com/xllntl/picture/raw/master/2020-10-12/1602470767986-%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20200508094159.png) 但是可以叉掉。 如果vmware重新開啟虛擬機器vmx檔案,可以進入grub引導介面,引導操作不可能成功,因為缺少太多檔案了。 ![](https://gitee.com/xllntl/picture/raw/master/2020-10-12/1602486884745-%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20200508095410.png) # 實驗結論 - 刪庫後, 各種命令除了cd都不好使了,處於無法使用的狀態。 - 桌面操作也基本不行了,能執行system->shutdown關機,但關機無法成功完成。 - 真實的物理機應該大同小異,無法繼續使用是肯定的,不同的是物理機可以按電源按鈕斷電,然後觀察重啟的反應。 - 做了這個事後,我用vmware重新安裝虛擬機器,重灌的虛擬機器都不太好使了,經常開虛擬機器後卡在開機畫面進不去系統。vmware解除安裝再安裝也沒行。後來改用vbox裝虛擬機器了。 # 刪了庫一定要跑路嗎 網友提供了以下經驗 > 發現刪庫了,馬上ctrl+c掐斷執行的命令和指令碼,少刪一個是一個。會有少量命令在刪庫後還是好使的,這些命令能幫助恢復部分其它命令。然後從其它伺服器拷貝檔案到本機,補齊被刪檔案。只是能補齊作業系統本身的檔案。 > 拆下硬碟放到其它伺服器,然後使用ext3grep或者extundelete,據說有成功恢復部分資料的。萬一那部分就是最重要的資料,那損失就很小