時間:2019-06-11 00:00:00 來源:信盈達(dá) 作者:信盈達(dá)
Linux 從業(yè)方向主要有三個方向:運(yùn)維、開發(fā)、底層。下面我就對這三個方向進(jìn)行展開。
方向一:運(yùn)維
這應(yīng)該是很多 Linux 從業(yè)者給大家的形象吧,很多人也把我當(dāng)作運(yùn)維工程師,問我一堆運(yùn)維方向的問題,可是我不是這個方向的,我真不會?。?/span>
1、那運(yùn)維方向主要做一些什么工作?
首先,是服務(wù)器維護(hù),保證服務(wù)器正常運(yùn)行不宕機(jī),這是最最基本的要求。服務(wù)器一旦宕機(jī),公司找的第一個一般是運(yùn)維工程師,所以,很多運(yùn)維工程師都自嘲是「背鍋俠」。
然后,需要給開發(fā)人員提供一個可靠的服務(wù)器運(yùn)作環(huán)境和技術(shù)支持
我所知道的很多公司的開發(fā)環(huán)境是由開發(fā)人員自己搭建好的,但是,也有些公司將這部分工作內(nèi)容交給運(yùn)維工程師,而開發(fā)人員就專注于寫代碼。
當(dāng)然,還包括對各種服務(wù)的配置,如FTP,DNS,APACHE,IPTABLE,ORACLE,MYSQL等。
除此之外,還要對服務(wù)器狀態(tài)進(jìn)行監(jiān)控,如CPU內(nèi)存占用,進(jìn)程僵死崩潰,磁盤空間,異常登陸等。當(dāng)然,還要負(fù)責(zé)系統(tǒng)進(jìn)行升級,備份等等工作。
2、那么,運(yùn)維工程師需要學(xué)一些什么?
運(yùn)維工程師需要懂很多的命令,然后就是上面提到的開發(fā)環(huán)境的搭建,各種服務(wù)的配置,以及日常的維護(hù)之類,都需要會。很多的操作其實(shí)通過腳本就能很方便完成,
所以運(yùn)維工程師很多還需要懂 Shell 及 Python。推薦的入門書籍:鳥哥 Linux 私房菜。
方向二:應(yīng)用開發(fā)
應(yīng)用開發(fā)及底層開發(fā)方向就要寫比較多的代碼了,相對而言運(yùn)維工程師就不需要寫很多代碼。
簡單而言,Linux 應(yīng)用開發(fā)工程師主要在Linux 環(huán)境下開發(fā)各種應(yīng)用程序,就如同你們在 Windows 下開發(fā)的應(yīng)用程序一樣(比如QQ,PC微信等)。這些應(yīng)用程序有些帶有界面,也有很多是不帶界面的。帶界面的很多是由 QT 開發(fā),當(dāng)然也有其他的開發(fā)工具。
Linux 應(yīng)用開發(fā)工程師需求量相對比較多,行業(yè)分布也比較廣。方向主要有兩個,一個是服務(wù)器方向,另一個是嵌入式方向。
幾乎所有的科技公司都有服務(wù)器,所以在很多行業(yè)都有 Linux 應(yīng)用工程師的身影。而嵌入式方向,也就是我現(xiàn)在的方向,就是在嵌入式平臺上開發(fā)應(yīng)用程序,其實(shí)道理都是一樣的。
2、那么 Linux 應(yīng)用開發(fā)工程師需要掌握什么技能?
首先肯定要熟悉 Linux 平臺的 API ,包括 IO 操作,進(jìn)程間通訊, Linux 環(huán)境,網(wǎng)絡(luò)通訊,等等,推薦看 APUE 這本神書。當(dāng)然還需要懂腳本語言,包括 Shell, Python ,都需要懂。還有數(shù)據(jù)庫的操作,比如 MySQL,Sqlite,至少要懂一個。
對于編程語言的話,大多數(shù)情況下是使用 C/C++ 。如果你需要做界面開發(fā),可能還需要懂 QT 。
除此之外,你還需要懂一些行業(yè)規(guī)范,這個是應(yīng)用工程師的必備技能。
方向三:底層開發(fā)
底層開發(fā)工程師相對而言需求就會少一些,一個公司通常會養(yǎng)一堆的應(yīng)用開發(fā)工程師,但底層開發(fā)工程師可能就配備了一兩個。為什么?因為現(xiàn)在很多底層移植、適配的工作都由芯片廠商都幫你做好了,你們很多情況下只需做維護(hù)就好了。
所以,底層開發(fā)工程師的一個很好去處就是芯片廠商,如果對這塊有興趣的朋友,芯片廠商是一個很好的去處。
當(dāng)然底層開發(fā)工程師不僅僅做維護(hù)了,也是會根據(jù)公司的業(yè)務(wù)需求做一些定制。除此之外,還會做驅(qū)動開發(fā)的工作。
1、那底層開發(fā)工程師需要掌握什么技能?
雖然說移植之類的工作現(xiàn)在很多都由芯片廠商完成,但uboot,文件系統(tǒng),內(nèi)核這類的移植技能肯定要掌握。然后,驅(qū)動開發(fā)也肯定要會,因為這部分工作的份量還是不少的。
而在做底層開發(fā)工作時,還有一個重要的技能,就是芯片手冊的查看。如果你不會查看芯片手冊,那后面的移植啊,驅(qū)動開發(fā)之類的工作都無從談起。
有些公司可能還會對內(nèi)核進(jìn)行裁剪定制,那么,就需要對內(nèi)核源碼比較了解了,這部分要求就相對比較高了。
信盈達(dá)嵌入式linux課程從應(yīng)用到驅(qū)動全面涵蓋,擁有豐富的項目實(shí)戰(zhàn),具體可以參考嵌入式linux課程大綱。
免費(fèi)領(lǐng)取試聽卡
申請已經(jīng)提交
老師會馬上給您安排試聽課程!
申請出錯了
您可以加老師QQ:914865590報名咨詢!