為什么程序猿都應(yīng)該學(xué)點(diǎn)linux命令理朋?

大家好,我是xindoo绿聘,今天和大家分享下一個(gè)我的觀點(diǎn)——程序猿都應(yīng)該學(xué)點(diǎn)Linux命令嗽上!這也是這兩年我做后端開發(fā)的切身體會(huì)。認(rèn)識(shí)我的人可能都知道斜友,我職業(yè)生涯比較“特殊”炸裆,我畢業(yè)后先是干的運(yùn)維垃它,然后再轉(zhuǎn)的Java開發(fā)鲜屏。 運(yùn)維的經(jīng)歷苦不堪言,但積累下來的運(yùn)維相關(guān)經(jīng)驗(yàn)卻讓我在轉(zhuǎn)開發(fā)后受益匪淺国拇,其中一項(xiàng)就是熟悉大部分常用的Linux命令洛史。 我已經(jīng)記不清多少次只用幾行命令搞定別人半天都沒搞定的事兒,然后拂袖離去酱吝,深藏功與名……

學(xué)好linux命令有啥用也殖?

用linux命令日常提效的例子數(shù)不勝數(shù),我說一些對(duì)我的明顯作用务热。

快速排查和定位問題

舉個(gè)很簡(jiǎn)單的場(chǎng)景忆嗜,早上去上班,剛坐下突然收到服務(wù)器的報(bào)警崎岂,CPU使用率98%捆毫!登陸服務(wù)器top命令可以快速定位到是哪個(gè)進(jìn)程或者線程,sar命令定位出問題發(fā)生時(shí)間點(diǎn)冲甘,用cat绩卤、grep等命令快速找到出問題時(shí)的日志……途样,分分鐘解決問題。當(dāng)高手泡杯茶的功夫解決問題時(shí)濒憋,新手還不知所措何暇。

關(guān)于性能問題定位的命令,我之前翻譯過篇文章10行命令60秒快速定位性能瓶頸有興趣可以了解下凛驮。

數(shù)據(jù)清洗和統(tǒng)計(jì)

數(shù)據(jù)清洗和統(tǒng)計(jì)的方法很多裆站,就比如用excel就可以完成很多類型的統(tǒng)計(jì)工作,但針對(duì)一些簡(jiǎn)單的統(tǒng)計(jì)黔夭,我自己寫個(gè)shell腳本也能分分鐘搞定遏插,尤其是當(dāng)需要被統(tǒng)計(jì)的數(shù)據(jù)是直接在服務(wù)器上時(shí)。比如這臺(tái)機(jī)器上服務(wù)今天員工報(bào)過多少次error纠修。還有從日志中解析出某個(gè)接口今天所有請(qǐng)求的平均胳嘲、最大、最小耗時(shí)…… 像這種簡(jiǎn)單的數(shù)據(jù)清洗和統(tǒng)計(jì)扣草,我用grep了牛、awk也能分分鐘完成。

印象比較深的一個(gè)經(jīng)歷辰妙,有次我們?cè)谂挪槟硞€(gè)問題時(shí)鹰祸,從兩個(gè)系統(tǒng)中導(dǎo)出了兩份用戶數(shù)據(jù),想對(duì)比下每個(gè)用戶在兩個(gè)系統(tǒng)里的數(shù)據(jù)差異密浑,當(dāng)時(shí)數(shù)據(jù)量還是挺多的蛙婴。這種問題你會(huì)怎么辦? 從服務(wù)器上拉到本地尔破,然后用excel的vlookup好像也行街图。當(dāng)服務(wù)器上數(shù)據(jù)不允許下載呢?

這兩份數(shù)據(jù)如果是數(shù)據(jù)庫(kù)里的兩個(gè)表懒构,很明顯就是將兩個(gè)表直接join起來(當(dāng)時(shí)也有同事提出先將數(shù)據(jù)入庫(kù))餐济。但在linux上用awk命令可以很容易實(shí)現(xiàn)這個(gè)功能,后來我也把具體方法寫了一篇博客awk實(shí)現(xiàn)類sql的join操作 胆剧。

輔助開發(fā)

輔助開發(fā)的事就數(shù)不勝數(shù)了絮姆,比如我用wget命令下載文件,用curl命令調(diào)試接口秩霍,用dig篙悯、ping、nc測(cè)試網(wǎng)絡(luò)铃绒,用wrk壓測(cè)接口……

裝X

這個(gè)就不多說了鸽照,在控制臺(tái)各種敲,很geek匿垄。

如何學(xué)習(xí)Linux命令

以上說了好多學(xué)好linux命令的優(yōu)點(diǎn)移宅,我相信你肯定按捺不住想要學(xué)了归粉,這里我分享一些我的學(xué)習(xí)方法。

多練習(xí)漏峰,但沒必要太刻意練習(xí)

這個(gè)也算是老生常談了糠悼,如何東西想要熟練,都需要大量的刻意練習(xí)浅乔,學(xué)習(xí)linux命令也不例外倔喂。 但我這里給一個(gè)忠告,就是沒必要一次性花太多的時(shí)間去熟練掌握某個(gè)linux命令靖苇,尤其是有些比較冷門的命令席噩。 很多命令確實(shí)很不常用,如果你執(zhí)著于一次性掌握其所有參數(shù)贤壁,但長(zhǎng)期不使用肯定還是會(huì)忘記悼枢,到時(shí)候還是得重新學(xué),投入產(chǎn)出比太低脾拆。

比如我之前學(xué)習(xí)過tcpdump的使用馒索,當(dāng)時(shí)大部分的參數(shù)基本都會(huì)用了,但tcpdump在日常工作中使用的太少了名船,而且也涉及到大量網(wǎng)絡(luò)的知識(shí)绰上,我已經(jīng)很長(zhǎng)時(shí)間沒有用過了, 已經(jīng)忘記怎么使用了渠驼。 像這種工作中不太涉及蜈块,也不常用的命令,了解下就可以了迷扇,知道它能干什么足以百揭,等真正有需求的時(shí)候再去學(xué)。

先知道有什么樣的命令谋梭,再考慮怎么去用

Linux命令及其參數(shù)不能用浩如煙海來描述信峻,但也算是數(shù)不勝數(shù)了,索性大部分的命令及參數(shù)是不會(huì)用到的瓮床,但也推薦大家稍微記錄下。 就比如我今天早上遇到一凌晨OOM的問題产镐,我想去追溯那段時(shí)間機(jī)器的負(fù)載情況隘庄,最簡(jiǎn)單的方式就是用sar命令,方便快捷癣亚,雖然我早已忘記具體的參數(shù)丑掺,但man或者搜索下立馬就知道了。

所以我的建議是先知道有什么樣的命令述雾,然后再按需求去了解具體命令的使用方式街州。初學(xué)者應(yīng)該從最簡(jiǎn)單最常用的命令開始學(xué)起兼丰,比如下圖中的命令。

在這里插入圖片描述

網(wǎng)上有很多常用命令的參考指南唆缴,我之前也寫過一篇博客我常用的Linux命令

善用man和搜索引擎

在linux中鳍征,所有命令的使用方式都可以通過man命令來查詢,包括詳細(xì)的示意面徽,各種參數(shù)的作用都有艳丛,都是命令的開發(fā)者提供了,肯定保證準(zhǔn)確無誤趟紊,不過缺點(diǎn)是都是英文的氮双,而且有些篇幅較長(zhǎng),對(duì)像我這種英文不太好的人不是很友好霎匈。

另外戴差,搜索引擎也是了解一個(gè)linux如何使用的好工具,網(wǎng)上有各種相關(guān)博客铛嘱,有些入門網(wǎng)站(比如菜鳥教程)也有比較體系化的教學(xué)內(nèi)容造挽,甚至有時(shí)候還可以找到你問題的解決方案。這種方式對(duì)新手比較友好弄痹,但這種方式的缺點(diǎn)是內(nèi)容質(zhì)量參差不齊饭入,自己要做好信息的辨別和篩選。

對(duì)于我不熟悉的linux命令肛真,我日常是兩種方法都使用谐丢,比較傾向于第二種,但在第二種無法解決我問題時(shí)我會(huì)去看man收藏蚓让,去尋找更專業(yè)的資料乾忱。

收藏代碼片段

我可能比較偏實(shí)用主義,學(xué)linux命令大多數(shù)情況都是為了解決具體的問題历极,而我遇到的問題各式各樣窄瘟,使用的方法也不一樣,可能時(shí)隔好久才會(huì)重復(fù)出現(xiàn)趟卸,等出現(xiàn)時(shí)之前用的解決方案早就忘記了蹄葱。為避免這種問題,我開始用snippetsLab記錄一些常用的代碼片段锄列,將自己寫的稍微復(fù)雜且不是很常用的代碼片段保存起來图云,加上描述和標(biāo)簽方便檢索,等之后如果再用到可以快速找回邻邮。

比如像上文中awk實(shí)現(xiàn)join的功能竣况,稍微有點(diǎn)復(fù)雜,每次讓我重新寫也不是寫不出來筒严,但還是需要花點(diǎn)時(shí)間調(diào)試的丹泉。 這種與其每次都調(diào)情萤,還不如記錄下來下次貼過來直接使用。 這兩年我已經(jīng)在snippetsLab中記錄了數(shù)百條代碼片段了摹恨。

在這里插入圖片描述

結(jié)語

說真的筋岛,雖然我不推薦做運(yùn)維這個(gè)工作,尤其是在國(guó)內(nèi)睬塌,但我非常建議大家了解下運(yùn)維相關(guān)的技能泉蝌,尤其是各種常用的linux命令,不管你是前端還是后端揩晴、不過是java還是go程序猿勋陪,都應(yīng)該了解常用的linux命令。

本文來自https://blog.csdn.net/xindoo

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末硫兰,一起剝皮案震驚了整個(gè)濱河市诅愚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌劫映,老刑警劉巖违孝,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異泳赋,居然都是意外死亡雌桑,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門祖今,熙熙樓的掌柜王于貴愁眉苦臉地迎上來校坑,“玉大人,你說我怎么就攤上這事千诬∷D浚” “怎么了?”我有些...
    開封第一講書人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵徐绑,是天一觀的道長(zhǎng)邪驮。 經(jīng)常有香客問我,道長(zhǎng)傲茄,這世上最難降的妖魔是什么毅访? 我笑而不...
    開封第一講書人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮烫幕,結(jié)果婚禮上俺抽,老公的妹妹穿的比我還像新娘。我一直安慰自己较曼,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開白布振愿。 她就那樣靜靜地躺著捷犹,像睡著了一般弛饭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上萍歉,一...
    開封第一講書人閱讀 51,754評(píng)論 1 307
  • 那天侣颂,我揣著相機(jī)與錄音,去河邊找鬼枪孩。 笑死憔晒,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蔑舞。 我是一名探鬼主播拒担,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼攻询!你這毒婦竟也來了从撼?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤钧栖,失蹤者是張志新(化名)和其女友劉穎低零,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拯杠,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡掏婶,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了潭陪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雄妥。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖畔咧,靈堂內(nèi)的尸體忽然破棺而出茎芭,到底是詐尸還是另有隱情,我是刑警寧澤誓沸,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布梅桩,位于F島的核電站,受9級(jí)特大地震影響拜隧,放射性物質(zhì)發(fā)生泄漏宿百。R本人自食惡果不足惜洪添,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一垦页、第九天 我趴在偏房一處隱蔽的房頂上張望干奢。 院中可真熱鬧痊焊,春花似錦、人聲如沸薄啥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽垄惧。三九已至,卻和暖如春到逊,著一層夾襖步出監(jiān)牢的瞬間铣口,已是汗流浹背觉壶。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工脑题, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人掰曾。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓旭蠕,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親旷坦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子掏熬,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容