
原創:小姐姐味道(微信公眾號ID:xjjdog),歡迎分享,轉載請保留出處,
今天感冒剛好,又找到了文風飄逸的感覺,打字手也不抖了,好久沒有這么掌筆,得讓新到的朋友們體驗一下飛翔的感覺,否則把灑家當成了一個小小的運營,那就無趣的很,
↓↓↓
小的時候,村里有個理發師,功夫十分了得,你在座位上坐好之后,只見刀光劍影刷刷幾下,鰓毛抖動之間,就能獲得滿意的發型,即使是剃個光頭的需求,也能快速完成,
完事之后,剃頭刀上不會占有半點鮮血和毛發,
我很羨慕他的刀,
到底是他的刀厲害?還是他的人厲害?明白事理之后,我明白了是后者,而不是他手中的屠龍剃頭刀!
隨著年齡越來越大,我踏上了編程這條道路,一次偶然的原因,看到同事上上下翻飛的運行rm命令,勾起了我久遠的、對刀的回憶,
跨上一把刀,行走天下,是一件非常瀟灑的事,rm這個命令,圓你的武俠夢,很合適,只要它所到之處,玉石俱焚,寸草不生,
獲取這把刀的成本很低,你只要會使用Linux就行了,顯然,人人都擁有這么犀利的刀,會引起混亂,
如果你的功力不夠,掌控不了這把刀,那么就會被它反噬;如果你對它不尊重,它也會誤傷到你自己,不留一點情面;如果你心存惡念,它就能在瞬間滿足你,
每一年,都有好多人因為舞刀傷到了自己,或者傷了人進了局子,
在rm命令的刀下,是無數血淚堆砌的故事,每個故事都讓你潸然淚下,或者露出兔死狐悲的哀傷,

rm這個命令,到底是殺雞刀,還是殺牛刀?要看掌刀的人;是束之高閣,還是藏在袖中,要看是否還心存熱血,
但現實的生活總不會讓情緒發泄的太澎湃,多為多年混社會的人,我們早已經學會了忍耐,當你的命令列輸入到了rm -rf /,會不由自主的再按下回退鍵,就像烏龜發現了殼外的危險,把龜頭緊緊縮在殼里面,
雖然憋屈了一點,但畢竟安全,
安全只是暫時的
但安全,只是暫時的,
有一次,有一個偉大的布道者,和自己的小弟們普及命令列知識,他聊到了rm -rf,
出于對寶刀的熱愛,就像真正愛刀的人,會用自己的舌頭和口水,舔凈刀上污漬直到一塵不染,他打開了一個命令列終端,輸入了rm -rf /這個命令,
“這是一個危險的命令!”,他說,“你們永遠不要在線上環境運行”,
旁邊的小迷弟小迷妹們都很一臉崇拜的看著他,聆聽教誨,
好久沒有這么讓人陶醉的感覺了,他不由自主滔滔不絕的講解了起來,毫無察覺自己的胳膊肘子壓上了鍵盤,蜻蜓點水一樣觸了一下Enter鍵,

以實際行動來驗證,從實踐中出真知,是互聯網人一貫的作風,
屏蔽起來
當這種翻車事故變得越來越多,我們就更能了解到rm的兇殘,尤其是,一些不注意的條件,就讓shell腳本成為觸發的元兇,
電子資訊不同于現實中的物品,你只要銷毀了它,它可能就真的永遠消失了,就如同靈魂一樣,為了保證一定程度的安全,我們可以把rm命令變成一個垃圾桶,
首先,創建一個垃圾桶,
mkdir ~/.Trash &> /dev/null
chmod 777 ~/.Trash
然后,把原生的rm命令給廢掉,
alias rm="sh /usr/bin/rm.sh"
簡單的rm腳本可能長這個樣子,
#!/bin/bash
while [ ! -z "$1" ]; do
mv "$1" ~/.Trash/
shift
done
當然,我們這只是一個簡單的腳本,但無論你做的再周詳,也阻止不了誤刪,比如,將rm -R ./lib/寫成了rm -R /lib/,
把檔案找回來
在Linux下面,除非是作死的rm -rf /,誤刪一兩個檔案,還是有機會找回來的,要想徹底的銷毀檔案,你需要使用shred命令,
rm刪掉的檔案,其實只是將指向資料塊的索引點(information nodes)釋放,只要不被覆寫,資料其實還在硬碟上,
只要你洗掉檔案之后,沒有再覆寫區塊的資料,那就有很大概率找回來,就像你洗掉了一個運行時的檔案,你使用lsof命令,依然能夠看到/var/log/messages (deleted)類似的字樣,
如果你洗掉的檔案還被別的行程所使用,那么恭喜你,你可以直接找到它,比如使用的行程id是996,那么檔案就躺在/proc/996/fd/下面,
所以不小心刪掉之后,反射弧不宜過長,不能等一兩天之后,突然就一哆嗦:哎吆wocao?我的檔案怎么不見了?
如果并沒有行程使用這些檔案,那就麻煩了一些,首先,你得停止你的爛七八糟的行程,還原一個干干凈凈的機器,免得檔案被覆寫,如果你還不放心,直接unmount磁區,
然后,恢復檔案還得借助工具,比如extundelete,
End
如果你因為rm這把刀,傷到了自己,以至于坐牢,那你一定在一個比較2的公司,
有點安全意識到公司,肯定不會因為rm這么兩個字母就停擺了,刪根?不好意思,我們業務機器有多個節點,你只是xx分之一;刪庫?不好意思,我們有熱備冷備,甚至不同的業務有不同的庫表,你認為洗掉物理檔案就能搞死公司,妄想!
但即使如此,也要管住自己的手,因為有些公司斤斤計較,并不是你想象得那么善良,不管你是主觀故意還是因為手抖,最后免不了一堆麻煩,沒人會為低級錯誤擦褲子,只能運行命令的人獨自承受,

在打工、賺錢的同時,首先保護自己才是最重要的,所以,你有啥想不開的?要用rm -rf命令?僅僅是想要弘揚你俠士的風范么?
你要明白,做一個合格的小程式員,小運維,并不比理發師安全多少,寶刀在手,可以削蘋果,可以開瓶蓋,也可以分蛋糕,但從來不會血濺當場,因為我們是文明人,
作者簡介:小姐姐味道 (xjjdog),一個不允許程式員走彎路的公眾號,聚焦基礎架構和Linux,十年架構,日百億流量,與你探討高并發世界,給你不一樣的味道,我的個人微信xjjdog0,歡迎添加好友,進一步交流,
推薦閱讀:
1. 玩轉Linux
2. 什么味道專輯
3. 藍牙如夢
4. 殺機!
5. 失聯的架構師,只留下一段腳本
6. 架構師寫的BUG,非比尋常
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/299248.html
標籤:其他
