底層驅動什麼意思 學Linux到底學什麼?

2021-10-11 23:33:54 字數 3243 閱讀 7532

聽到大家這樣的回答,我真的是很無奈,但也是非常的理解,因為,曾經我對linux的了解程度也是僅限在運維的層面上。但是,有這種概念的朋友實在是太多了,所以我有必要出來給大家科普一下linux的幾個主要的從業方向。

linux其實也是乙個大的方向,可以細分為很多小方向。所以很多公司的崗位職責上面寫著要求精通linux,這是非常不現實的。為了能讓大家更直觀了解linux的從業方向,我畫了下面這張圖。

從這張圖來看,從大的方向來劃分,linux從業者可以分為兩個方向:運維、開發。當然除了這兩個方向,還有一些其它方向,但可能比較小眾,就暫時不討論了。但是,單單從這兩個方向來看,又細分出了很多更小的方向,因此我們可以看到linux從業方向的多樣性。

下面我們來詳細介紹各個方向的工作內容和職責。

我們首先來看運維。運維又可以根據不同的工作內容細分為很多不同的方向,但是,主流的分法一般就是這張圖的幾個方向。

雖然運維也分很多方向,但很多公司,特別是中小公司,基本是乙個人幹完上面這些所有工作。所以,從事運維工作的話也是需要掌握不少技術的。

不管是什麼方向的運維,工作內容基本都可以概括為兩句話。第一句話是:保障業務長期穩定執行。就是說,公司的伺服器,你不僅要學會搭建,而且要保證上面的業務要做到長期穩定執行,任何出一點點差錯,運維人員可能就要背這個鍋了。所以,運維人員經常自嘲自己是「背鍋俠」。

第二句話是:保障資料安全可靠。這句話比較好理解,現在資料洩漏太嚴重了,像之前facebook資料洩漏事件讓facebook吃了不小的罰單。所以如何保證資料的安全也是運維人員一項非常重要的工作。

這幾個方向當中,前3個屬於傳統運維,一般而言工資相對比較低。後兩個是這兩年的熱門工作,工資相對高一些。其中雲計算運維要涉及到容器docker,k8s之類的,技術要求更高。而運維開發需要學習到js,python之類的程式語言,會涉及到一些開發的工作。

以上這些就是對運維方向的介紹,我們再來看第二大方向:開發方向。開發方向又分為兩個:應用層開發底層開發。首先來看應用開發。我現在做的工作就是linux應用開發。那應用開發到底做些什麼工作呢?

一般而言,應用開發又分細分為這三個:桌面應用開發、嵌入式應用開發、伺服器運用開發。

同樣的,如果在linux下也開發一些類似這種的應用程式,就是屬於應用開發。在windows下,我們看到的那些應用程式大部分是帶圖形介面的,然而,在linux下的應用程式,有些會帶有介面,而相當一部分是不帶介面的。

linux下帶介面的應用程式所使用的開發工具之一就是qt,所以有個崗位就叫作qt工程師,做的就是這個活。當然qt程式是可移植的,linux下同樣一套**可以不用作任何修改就可以在windows下編譯執行。

嵌入式linux應用開發又是什麼?很多嵌入式裝置,比如一些機械人玩具,一些智慧型家居裝置,以及汽車的中控等,很多跑的是linux系統。那對應的我們也需要給這些裝置開發一些應用程式,就是所謂的嵌入式linux應用開發。這些應用程式通常是不帶介面的,它們通常會在後台默默執行,完成相應的業務工作。當然也有一些嵌入式應用程式是帶介面的,但其實很多也是直接跑qt的。

不管是使用什麼開發語言,都需要考慮事件處理、高併發之類的需求,同時也要學會使用框架,要站在巨人的肩膀上,才走得更快更遠。

我們再來看看linux底層開發。其實,只要有接觸到linux,都會聽說過核心、檔案系統、uboot之類的名詞,這些就是底層開發人員天天打交道的東西。

一般而言,核心、檔案系統、uboot的移植很多晶元廠商都已經給你做好了,你只需學會維護即可。而對於核心裁剪、定製之類的工作,那就需要底層工程師來做了。

除此之外,你還要學會開發驅動,這部分的工作應該是比較多的。什麼是驅動開發呢?大家知道,在linux下一切皆檔案,裝置也是。所以應用工程師需要操作硬體,比如io口,只需操作對應的裝置檔案即可。那這個裝置檔案怎麼實現對io口進行操作?這就是驅動開發的工作了。很多公司對驅動開發的需求比較大,所以誕生出乙個專門的崗位叫驅動開發工程師。

而隨著物聯網的發展,現在很多裝置,特別是智慧型家居類的裝置,很多跑的是安卓系統。所以在嵌入式裝置上移植乙個安卓系統,也是底層開發工程師的乙個工作內容。當然不是所有的底層開發工程師需要做這個工作,一切視公司的業務而定。但如果有時間,底層開發相關的工作都應該要學會。

以上就是linux從業者的主要工作方向,介紹了這麼多方向後,很多人開始暈乎了:我到底該從事哪個方向?

對於運維和開發兩個大方向,在薪資方面運維可能會比較低,而且運維的工作可能會比較瑣碎,伺服器一旦宕機就要第乙個衝到前線,基本是7x24小時待命。而且,運維的天花板相對比較低,可能工作過三五年就到頂了。

而開發方向天花板就比較高一些了,而且薪資會相對比較高。對於應用和底層,應用方向的需求比較大,通常而言乙個公司只需乙個底層工程師即可,卻需要養一大群的應用工程師。所以底層工程師就業面會比較小一些,通常比較好的去處就是那些晶元廠商。但是,相對而言底層工程師的工資會比應用工程師要高一些。

對於這些方向的介紹,只是目前市面上的一些實際狀況。我沒有建議你別做運維,也沒有建議你去做應用開發,一切都是看個人興趣與意願。只要自己工作得開心,才是最關鍵的。

linux 中 是什麼意思

代表你的 home 使用者明目錄 假設你的使用者名稱是x,那麼 就是 home x 是代表此目錄本身,但是一般可以不寫 所以cd 和cd 和cd 效果是一樣的 但是.後面有東西又是另外乙個問題,點在檔名頭部,代表乙個 隱藏檔案 local是你的主目錄下乙個.local的資料夾的路徑,並且從.可以看出...

linux系統是什麼意思

代表你的 home 使用者明目錄 假設你的使用者名稱是x,那麼 就是 home x 是代表此目錄本身,但是一般可以不寫 所以cd 和cd 和cd 效果是一樣的 但是.後面有東西又是另外乙個問題,點在檔名頭部,代表乙個隱藏檔案 local是你的主目錄下乙個.local的資料夾的路徑,並且從.可以看出,...

Linux中TTY是什麼意思

終端是一種字元型裝置,它有多種型別,通常使用tty來簡稱各種型別的終端裝置。tty是teletype的縮寫。teletype是最早出現的一種終端裝置,很象電傳打字機 或者說就是 是由teletype公司生產的。裝置名放在特殊檔案目錄 dev 下,終端特殊裝置檔案一般有以下幾種 1.串列埠終端 dev...