Linux運維人員需要掌握一門程式語言嗎?
最近經常有同行的朋友或者Linux初學者問我:運維人員是否需要學一門語言,那麼該學哪種語言呢?
對於這個問題,我分兩個方面回答:
首先,在大資料、雲端計算發展迅猛的今天,系統運維人員如果不懂一點開發語言的話,確實會舉步維艱。因為在運維工作中,業務系統的繁多,線上伺服器規模很大時,只能透過寫指令碼的方式(自動化也是指令碼一種哦)自動化完成,不然,如此重複和繁瑣的工作,靠人力是無法負擔的。所以,學習一門可以讓運維工作批次完成的語言,就顯得很重要了。
那麼,應該學習一門什麼語言呢?
對於Linux系統運維人員來說,答案就比較複雜,因為有很多的選擇。shell、perl、python、ruby等等。
我認為,每一個Linux系統運維人員都應該知道Linux外殼程式(sh或bash),另外還要知道Perl、Ruby或Python當中的某一門語言。至於學哪一門語言,並不重要。
在我看來,任何語言都是為運維工作服務的,只要能完成運維工作,你喜歡哪種語言,那麼你就用哪種語言吧!當然,對於初學者會有一些不同的選擇,如果你是初學者,推薦當下比較流行或者企業應用比較多的語言來學的話,對以後的工作會有很大幫助,畢竟沒有哪個公司願意接受一種陌生的語言。
那麼,是否初學者一開始就要馬上學習一門運維語言呢?我覺得這個為時過早了,因為任何語言,特別是shell、python等這些語言,與Linux聯絡很緊密,如果對Linux一無所知的時候,就茫然的去學語言,那無異於盲人摸象。所以,我建議學習系統語言,一定要有Linux基礎後再去學習,你會發現,語言也變得容易多了。
shell作為一門通用的系統語言,是所有運維人員都必須要了解和掌握的,透過shell能幫助我們解決日常工作中很多重複、繁瑣的工作,但是shell的基礎就是系統命令,因此,只有掌握了系統命令的原理和使用方法,shell才能執行起來。我見過很多學Linux的朋友,他們也接觸運維多年,但是對於如何執行for迴圈、while迴圈、if with [[或[、$1、$2、$3... $*和 $@ 以及case語句的使用都不會,他們遲早會為沒有儘早學習bash而自責不已。
那麼,又有人問我,我對shell已經非常熟悉了,但還是找不到工作,很多單位都要求會python或ruby等語言,我是否還要學這些語言呢?
這個問題分為兩個方面,首先從員工角度來講,企業招聘員工是為自身服務的,交給員工的任務只要能按質保量的完成,其實已經足夠了,至於透過什麼語言來實現的,並不重要。可能有些企業出於習慣或傳統的目的,強制要求要透過一種語言去完成所有工作,這是企業環境問題。如果每個員工都有完全依賴於企業的這種習慣,豈不是要學會所有的語言嗎?顯然,這並不是一種常態。
很多朋友都看過招聘資訊,對語言的要求基本都是shell、python、perl等任意一個熟悉,那麼也就說明對運維工作的語言要求是相對較寬泛的,我曾就職多家大型公司,對於運維的工作都有專業的任務排程管理平臺,而排程管理平臺上,可以支援任何語言編寫的運維排程任務。因此,你無需為學習哪個語言而發愁。
然後,從職業管理的角度來看,我認為真正擅長其中一門語言,對另外其他語言有所涉獵,這是最大的競爭力。哪怕這意味著僅僅閱讀介紹這些語言的書籍的頭幾個章節。真正擅長其中一門語言意味著,你深入瞭解如何運用該語言,深入瞭解該語言在“底層”是怎麼一回事,那樣你在設計更大型的程式時,就能作出更合理的決策。我之所以把這個問題上升到職業管理問題的層面來討論,原因在於,如果你想受僱於一家使用不同語言的公司,“成為願意學習不同語言的專家”遠比“成為只想學習大有潛力的語言”或“對這門或那門語言一知半解,但是從來沒有耐心把某一門語言學好的人”來得重要。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31088174/viewspace-2120443/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【IT運維】Linux運維需要掌握哪些技能?運維Linux
- Linux運維工程師需要掌握什麼技能?Linux入門教程Linux運維工程師
- Linux運維工程師需要掌握哪些知識?Linux入門教程Linux運維工程師
- 發展Linux運維需要掌握哪些技能?Linux運維
- linux 運維 命令 + 運維需要掌握些什麼東西Linux運維
- linux運維需要掌握什麼知識?linux運維學習路線Linux運維
- linux運維學習路線,linux運維需要掌握什麼知識?Linux運維
- Linux運維命令重要嗎?運維入門Linux運維
- 轉行Linux運維需要學習嗎?學習Linux運維Linux運維
- Linux運維人員必會開源運維工具體系Linux運維
- 做Linux運維還需要在提升嗎?Linux學習Linux運維
- Linux運維需要持續學習嗎?Linux學習Linux運維
- 運維人員常用的Linux命令彙總運維Linux
- 負載均衡有哪些知識點需要掌握?Linux運維負載Linux運維
- Linux運維需要學什麼?會Linux好找工作嗎?Linux運維
- Linux運維好學嗎?入門Linux學什麼Linux運維
- 怎麼樣才算掌握一程式設計門語言?程式設計
- Linux運維工作清閒嗎?每天需要幹什麼?Linux運維
- 【分享篇】運維人員常用的一些Linux命令盤點!運維Linux
- 一個運維人員能同時管理100+伺服器嗎?運維伺服器
- Linux需要會什麼技術?Linux運維入門學習Linux運維
- Linux 運維人員最常用 150 個命令總結Linux運維
- 運維人員最常用150個Linux命令彙總運維Linux
- Linux運維可以自學嗎?Linux運維技術Linux運維
- 運維工程師需要掌握的7大武器運維工程師
- Linux運維人員核心職責是什麼?linux初學影片Linux運維
- IT運維人員的神兵利器運維
- 【乾貨】Linux運維人員必備的實用工具!Linux運維
- 職場人員該學什麼程式語言
- Claude只用很少資料就能深刻掌握一門語言
- 0基礎入門Linux 運維,應該先掌握哪些知識?Linux運維
- 什麼是Linux運維?Linux運維工程師需要做什麼?Linux運維工程師
- 哪些人適合學Linux運維?Linux入門基礎Linux運維
- 想要學Linux運維怎麼辦?Linux運維入門Linux運維
- 【Linux】運維入門 -01Linux運維
- 介面測試人員需要掌握的知識技能
- 運維需要掌握的12個路由知識點運維路由
- python是一門解釋性語言嗎?Python
- Ansible,運維人員的好助手。運維