都別攔著我,我要刪庫了
阿新 • • 發佈:2020-10-13
本來想刪公司伺服器,經同事勸解,改為刪本人電腦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,據說有成功恢復部分資料的。萬一那部分就是最重要的資料,那損失就很小