Linux 工程師10項不可不知的技能
現在找工作不容易,有人會問要成為一個負責 Linux 系統工程師,需要掌握哪方面的技術?這次就來介紹一下。
Linux 如果是學習可以選用 Red Hat或CentOS,特別是 CentOS 在企業中用得最多,當然還會有其它版本的,但學習者還是以這兩個版本學習就行,因為這兩個版本都是兄弟,沒區別的,有空可以再研究一下openSUSE,有些公司也喜歡用的,至於需要的技術就有以下幾方面。
1、Linux系統基礎,這個不用說了,是基礎中的基礎,連這個都不會就別幹了。參考書籍,可以看鳥哥Linux基礎篇,至少要掌握60%內容,沒必須全部掌握,但基本命令總得會吧。
2、網路服務,服務有很多種,每間公司都會用到不同的,但基礎的服務肯定要掌握。如FTP、 DNS、SAMBA、郵件伺服器,這幾個大概學一下就行。LAMP和LNMP必須熟練,所指的不是光光會架設,而是要很熟悉裡面的設定才行。因為公司最關鍵的絕對是網頁伺服器,所以nginx和Apache要熟悉,特別是nginx一定要很熟悉才行。有些公司還會用Tomcat,這個也最好學一下。其實網路服務方面不用太擔心,一般公司的環境都已經搭建好,就算有新伺服器或讓你改,公司會有相應的說明文件讓你參照來弄,不會讓你亂來的,但至少相關的配置一定要學熟,而且肯定是編譯安裝多。那些模組要熟悉一下他的作用,特別是PHP那些模組。
3、Shell腳本和另一個腳本語言。Shell是運維人員必須具備的,不懂這個連入職都不行。至少也要寫出一些系統管理腳本,最簡單也得寫個監控CPU,記憶體比率的腳本吧,這是最最最基本了。別以為會寫那些猜數字和計算什麼數的,這些沒什麼作用,只作學習意義,寫系統腳本才是最有意義,而另一個腳本語言是可選的,一般是3P,即Python、Perl和PHP。PHP就不需要考慮了,除非你要做開發,個人建議學Python會比較好,難實現自動化營運。Perl文本處理很強大,反正這兩個學一個就行了。
4、sed和awk工具,必須要掌握,在掌握這兩個工具同時,還要掌握正則表達式。這個就痛苦了,正則是最難學的表達式,但結合到sed和awk中會很強大,在處理文本內容和過濾Web內容時十分有用。不過在學Shell的同時一般會經常結合用到的,所以學第3點就會順便學第4點。
5、文本處理命令,sort、tr、cut、paste、uniq、tee等必學,也是學習第3點時一併學習的。
6、資料庫首選MySQL,別問為什麼不學SQL Server和Oracle,因為 Linux 用得最多絕對是MySQL。增刪改查必學,特別要學熟查,其它方面可能不太需要。因為負責營運人員使用最多還是查,哪些優化和開發語句不會讓你弄的。
7、防火牆,不學不行。防火牆也算是個難點,說難不難,說易不易,最重要弄懂規則。如果學過CCNA的朋友可能會比較好學,因為iptables也有NAT表,原理是一樣的,而FILTER表用得最多,反正不學就肯定不合格。
8、監控工具,十分十分重要。個人建議,最好學Cacti、Nagios和Zibbix,企業用得最多應該是Nagios和Zibbix。反正都學會這些吧,但Nagios會有點難,因為會涉及到用腳本寫自動監控,那個地方很難。
9、群集和熱備,這個很重要,肯定要懂的,但到了公司就不會讓你去弄,因為新手基本不讓你碰。群集工具有很多,最好學是LVS。這是必學的,最好也學學nginx群集,反向代理,還有熱備,這個就更多工具能實現了,有些公司是自己開發熱備工具的。MySQL熱備也要學,就是主從複製,這個別說容易,其實不容易的,要學懂整個流程一點也不容易,只照著做根本沒意思。
10、數據備份,不學不行。工具有很多,但至少要把RAID的原理弄懂,特別是企業最常用的1+0或0+1,自己做實驗也要弄出來。備份工具有很多,如tar、dump、rsync等,最好多了解一下。
說到這10點已經夠你受了,應該可以入門了。因為有些技術會比較難學,例如Apache和nginx中,還有些很重要的技術,如系統調優和服務優化,還有程序優化,這些在沒接觸工作前很難學習到的,所以先把這10點學了吧,估計要學熟至少3個月不止,就腳本那部分已經讓你很吃力了,建議是先學熟Shell,等工作後再學另一門腳本語言,這樣會比較好。以上就是踏入 Linux 營運工程師需要掌握的工具,其實還有很多工具要掌握的,但你在學習環境中是很難學到。最後再提醒一下,這裡所指的工具相當於技能,而不是像Windows或Ubuntu那些圖形化工具,那些工具沒用的。還有學 Linux 就別裝圖形界面,這樣虛擬機就不用吃太多記憶體。
感謝作者分享 ,剛出社會不久,現在工作也不是我想要的,非常渴望有機會能轉行,希望作者能夠推薦一些類似鳥哥網站與大家分享 ,謝謝