學好linux命令有啥用?
用linux命令日常提效的例子數不勝數,我說一些對我的明顯作用。
快速排查和定位問題
舉個很簡單的場景,早上去上班,剛坐下突然收到服務器的報警,CPU使用率98%!登陸服務器top命令可以快速定位到是哪個進程或者線程,sar命令定位出問題發生時間點,用cat、grep等命令快速找到出問題時的日志……,分分鐘解決問題。當高手泡杯茶的功夫解決問題時,新手還不知所措。
關于性能問題定位的命令,我之前翻譯過篇文章10行命令60秒快速定位性能瓶頸有興趣可以了解下。
數據清洗和統計
數據清洗和統計的方法很多,就比如用excel就可以完成很多類型的統計工作,但針對一些簡單的統計,我自己寫個shell腳本也能分分鐘搞定,尤其是當需要被統計的數據是直接在服務器上時。比如這臺機器上服務今天員工報過多少次error。還有從日志中解析出某個接口今天所有請求的平均、最大、最小耗時…… 像這種簡單的數據清洗和統計,我用grep、awk也能分分鐘完成。
印象比較深的一個經歷,有次我們在排查某個問題時,從兩個系統中導出了兩份用戶數據,想對比下每個用戶在兩個系統里的數據差異,當時數據量還是挺多的。這種問題你會怎么辦? 從服務器上拉到本地,然后用excel的vlookup好像也行。當服務器上數據不允許下載呢?
這兩份數據如果是數據庫里的兩個表,很明顯就是將兩個表直接join起來(當時也有同事提出先將數據入庫)。但在linux上用awk命令可以很容易實現這個功能,后來我也把具體方法寫了一篇博客awk實現類sql的join操作 。
輔助開發
輔助開發的事就數不勝數了,比如我用wget命令下載文件,用curl命令調試接口,用dig、ping、nc測試網絡,用wrk壓測接口……
裝X
這個就不多說了,在控制臺各種敲,很geek。
如何學習Linux命令
以上說了好多學好linux命令的優點,我相信你肯定按捺不住想要學了,這里我分享一些我的學習方法。
1.多練習,但沒必要太刻意練習
2.先知道有什么樣的命令,再考慮怎么去用
3.善用man和搜索引擎
4.收藏代碼片段