學習Linux有哪些工作方向?
經常有人在我的交流群問我:請問
要怎麼學習啊?Linux 要怎麼入門啊?這個問題,其實就像是:請問開發一個網站要多少錢?
但是,我很能理解,因為我曾經也是這樣的小白,對於 Linux 一無所知。Linux 只是一個作業系統,大家可以在上面工作、學習、開發,對於 Linux 的學習,其實你要先確定好方向,再具體說怎麼學習怎麼入門。 因為有太多人問了,所以我就寫篇文章來統一答覆一下。不過,關注我的很太多大佬了,而我畢竟是個轉行的,經驗方面肯定比不上正規軍,所以如果我說的有不對的地方,歡迎多多批評指正! 對於 Linux 從業都而言,主要有三個方向: 運維、開發、底層。 下面我就對這三個方向進行展開。 |
這應該是很多 Linux 從業者給大家的形象吧,很多人也把我當作運維工程師,問我一堆運維方向的問題,可是我不是這個方向的,我真不會啊!
那運維方向主要做一些什麼工作?
首先,是伺服器維護
保證伺服器正常執行不當機,這是最最基本的要求。伺服器一旦當機,公司找的第一個一般是運維工程師,所以,很多運維工程師都自嘲是「背鍋俠」。
然後,需要給開發人員提供一個可靠的伺服器運作環境和技術支援
我所知道的很多公司的開發環境是由開發人員自己搭建好的,但是,也有些公司將這部分工作內容交給運維工程師,而開發人員就專注於寫程式碼。
當然, 還包括對各種服務的配置 ,如FTP,DNS,APACHE,IPTABLE,ORACLE,MYSQL等。
除此之外,還要 對伺服器狀態進行監控 ,如CPU記憶體佔用,程式僵死崩潰,磁碟空間,異常登陸等。當然,還要負責系統進行升級,備份等等工作。
那些之前問我問題的小夥伴,你們看看,是不是包含在這裡?沒關係,其實我的內心還是很(xiang)淡(ma)定(ren)的。
那麼, 運維工程師需要學一些什麼?
運維工程師需要懂很多的 ,然後就是上面提到的開發環境的搭建,各種服務的配置,以及日常的維護之類,都需要會。很多的操作其實透過 就能很方便完成,所以運維工程師很多還需要懂 及 Python。推薦的入門書籍: Linux 私房菜。
這就是我的老本行啦~啊,不對,我的老本行是機械……
應用開發及底層開發方向就要寫比較多的程式碼了,相對而言運維工程師就不需要寫很多程式碼。
Linux 應用開發工程師主要做一些什麼工作?
簡單而言,Linux 應用開發工程師主要在Linux 環境下開發各種應用程式,就如同你們在 Windows 下開發的應用程式一樣(比如QQ,PC微信等)。這些應用程式有些帶有介面,也有很多是不帶介面的。帶介面的很多是由 QT 開發,當然也有其他的開發工具。
Linux 應用開發工程師需求量相對比較多,行業分佈也比較廣。方向主要有兩個,一個是伺服器方向,另一個是嵌入式方向。
幾乎所有的科技公司都有伺服器,所以在很多行業都有 Linux 應用工程師的身影。而嵌入式方向,也就是我現在的方向,就是在嵌入式平臺上開發應用程式,其實道理都是一樣的。
那麼 Linux 應用開發工程師需要掌握什麼技能?
首先肯定要熟悉 Linux 平臺的 API ,包括 IO 操作,程式間通訊, Linux 環境,網路通訊,等等,推薦看 APUE 這本神書。當然還需要懂 語言,包括 , Python ,都需要懂。還有資料庫的操作,比如 MySQL,Sqlite,至少要懂一個。
對於程式語言的話,大多數情況下是使用 C/C++ 。如果你需要做介面開發,可能還需要懂 QT 。
除此之外,你還需要懂一些行業規範,這個是應用工程師的必備技能。
底層開發工程師相對而言需求就會少一些,一個公司通常會養一堆的應用開發工程師,但底層開發工程師可能就配備了一兩個。為什麼?因為現在很多底層移植、適配的工作都由晶片廠商都幫你做好了,你們很多情況下只需做維護就好了。
所以,底層開發工程師的一個很好去處就是晶片廠商,如果對這塊有興趣的朋友,晶片廠商是一個很好的去處。
當然底層開發工程師不僅僅做維護了,也是會根據公司的業務需求做一些定製。除此之外,還會做驅動開發的工作。
那底層開發工程師需要掌握什麼技能?
雖然說移植之類的工作現在很多都由晶片廠商完成,但uboot,檔案系統,核心這類的移植技能肯定要掌握。然後,驅動開發也肯定要會,因為這部分工作的份量還是不少的。
而在做底層開發工作時,還有一個重要的技能,就是晶片手冊的檢視。如果你不會檢視晶片手冊,那後面的移植啊,驅動開發之類的工作都無從談起。
有些公司可能還會對核心進行裁剪定製,那麼,就需要對核心原始碼比較瞭解了,這部分要求就相對比較高了。
所以,Linux 從業都三個主要方向的工作內容都不一樣,所需的技能也不同。一般我們是選擇其中一個方向,進行深入研究,有精力時再去學習其它方向,拓寬技術廣度。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2644056/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux運維工作方向有哪些?Linux運維
- Linux運維職業方向有哪些?Linux學習Linux運維
- 會Linux技術的發展方向有哪些?linux學習心得Linux
- 程式設計師有哪些發展方向?linux運維入門學習程式設計師Linux運維
- 入門學習ui設計就業方向有哪些?UI就業
- 學習Linux運維有哪些學習方法?Linux運維
- binlog有哪些工作模式?linux學習資料庫入門模式Linux資料庫
- 學習Java能做哪些工作?到底有沒有前途?Java
- 學習完Linux後,可以選擇哪些就業方向?Linux就業
- 什麼是雲端計算?雲端計算學習方向有哪些?
- Python可以做什麼工作?Python有哪些方向?Python
- Linux運維的職業發展方向有哪些?Linux發展方向Linux運維
- 學習Linux最常用的命令有哪些?Linux
- 不清楚IT運維具體工作有哪些?運維工作方向大科普!運維
- 新媒體工作有哪些方向?新媒體營銷模式模式
- Web前端就業方向有哪些?可以幹什麼工作呢?Web前端就業
- Linux主要應用範圍有哪些?Linux學習Linux
- Linux的好處有哪些?Linux運維學習Linux運維
- 【Linux學習教程】Linux uptime命令有哪些作用?Linux
- 學完Web前端後發展方向有哪些呢?Web前端
- AI學者熱議:如果深度學習有“寒冬”,哪些技術方向可孕育新芽?AI深度學習
- Linux桌面系統有哪些?Linux雲端計算學習Linux
- Linux運維職業發展方向有哪些?Linux入門Linux運維
- 學習Linux常見的開發命令有哪些?Linux
- Linux學習中,常用的磁碟raid有哪些?LinuxAI
- 新媒體工作內容有哪些?新媒體學習方法
- 學好Python能做什麼?有哪些從業方向?Python
- Java學完後可以從事的方向有哪些呢?Java
- Python有哪些就業方向?Python就業
- Web前端就業方向有哪些?Web前端就業
- 也談LINUX的學習方向及學習方法.(轉)Linux
- 學習Linux安裝虛擬機器有哪些步驟?Linux運維學習Linux虛擬機運維
- linux技術的發展方向有哪些?Linux運維入門Linux運維
- vim編輯器有哪些模式?學習linux需要學什麼模式Linux
- cat命令有哪些功能用途?學習linux主要學什麼Linux
- 新媒體運營的工作前景有哪些?新媒體學習
- Nginx有哪些重要特性?學習linux系統知識NginxLinux
- 高階Linux運維工程師日常涉及哪些工作?Linux學習Linux運維工程師