回覆列表
-
1 # weijie0_o
-
2 # linux技術棧
一、熟悉 Linux 系統,基本命令
安裝 Linux 系統,學會基本操作,熟悉檔案系統,shell 指令碼以及常用命令
二、瞭解程式開發過程
搭建開發環境,瞭解 Linux 上程式開發過程。
學會使用文字編輯工具 Vim,編譯工具 gcc, as, 連線工具 ld, 除錯工具 gdb, make 工具,會寫 makefile。
用 C 語言實現並編譯自己的測試程式。
三、嘗試系統程式設計
試著在 Linux 上用 C 語言進行系統程式設計,
其中需要呼叫 Linux 系統庫函式 (API)。
例如,實現一個需要進行網路通訊、操作檔案的多執行緒/程序程式。
以此深入瞭解 Linux 系統執行機制。
四、學習核心
上面學的差不多了,感興趣的同學可以接著學習 Linux 核心。Linux 核心模組如下圖
五、驅動開發
從這裡開始,就不是必須的了。有興趣的朋友可以深入學習。但是學習驅動開發無疑要把前面的都要學好。
六、嵌入式系統開發
學好 Linux 是嵌入式系統開發的基礎。
嵌入式開發包括很多方向,有硬體、軟體,以及系統級別。
硬體要學微控制器,ARM、MIPS,DSP 等各種 MCU,Verilog, RTL, 具體就不多說了,跟 Linux 關係不太大。
軟體的話,需要了解交叉編譯,以及嵌入式環境下 C 語言的特殊用法,例如 volatile、 位操作、暫存器操作、大小端、程式跳轉等。
系統級,要了解 Linux 核心裁剪、移植、編譯、除錯,還有 Bootloader 、裝置驅動等
linux伺服器開發免費學習地址:https://ke.qq.com/course/417774?flowToken=1013300
伺服器開發應該主要是這幾點:
1. 網路程式設計,常見的協議,例如http,protobuf.
2. 資料庫,基礎的mysql,redis
3. 高併發高可用,做為服務端QPS幾千到幾萬很正常,同時還要注意容災,比如你的某個伺服器或者資料庫宕機後怎麼做到不影響使用者。
如果這些都掌握了,那你不需要看我這回答了Ծ‸Ծ
當然最好還是在工作中去學習,還有多到github看看大牛們寫的程式碼