Linux運維人員需要掌握一門程式語言嗎?

2021-09-03 05:53:40 字數 1826 閱讀 1701

最近經常有同行的朋友或者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等任意乙個熟悉,那麼也就說明對運維工作的語言要求是相對較寬泛的,我曾就職多家大型公司,對於運維的工作都有專業的任務排程管理平台,而排程管理平台上,可以支援任何語言編寫的運維排程任務,因此,你無需為學習哪個語言而發愁。

然後,從職業管理的角度來看,我認為真正擅長其中一門語言,對另外其它語言有所涉獵,這是最大的競爭力,哪怕這意味著僅僅閱讀介紹這些語言的書籍的頭幾個章節。真正擅長其中一門語言意味著,你深入了解如何運用該語言,深入了解該語言在「底層」是怎麼一回事,那樣你在設計更大型的程式時,就能作出更合理的決策。我之所以把這個問題上公升到職業管理問題的層面來討論,原因在於,如果你想受僱於一家使用不同語言的公司,「成為願意學習不同語言的專家」遠比「成為只想學習大有潛力的語言」或「對這門或那門語言一知半解,但是從來沒有耐心把某一門語言學好的人」來得重要。

51cto學院優質好課推薦:

lvs+keepalived企業級應用實戰

高效能負載均衡集群haproxy實戰

zabbix監控平台應用實戰

linux運維故障排查思路與系統調優技巧

**課程推薦:

Linux運維人員需要掌握一門程式語言嗎?

最近經常有同行的朋友或者linux初學者問我 運維人員是否需要學一門語言,那麼該學哪種語言呢?對於這個問題,我分兩個方面回答 首選,在大資料 雲計算發展迅猛的今天,系統運維人員如果不懂一點開發語言的話,確實會舉步維艱,因為在運維工作中,業務系統的繁多,線上伺服器規模很大時,只能通過寫指令碼的方式 自...

如何快速掌握一門技術

1 實用主義者的學習方法 繞過障礙,直奔主題,專注那些你馬上需要學的。2 僅僅專注並直奔主題還遠遠不夠。學習過程中你需要大量練習和獲得反饋。犯錯是學習的一部分,當你看完教程掌握了裡面所述的內容後,可以自己構思某個應用或者某個使用場景,然後從頭寫起。你會發現很多問題,也會加深對教程的理解。自己無法回答...

如何快速掌握一門程式語言

出來工作了一段時間,也接觸過了各式各樣的程式語言。突然想對 如何快速掌握一門程式語言 這個話題做下總結。搭建開發環境 有些語言這一步就不想要了,比如shell 學習語法,讀相關書籍或者網上找教程 比如通過w3cschool的php教程,基本就能掌握php的語言 了解相關的工具 例如c 開發的gdb ...