學習Linux系統編程,采用視頻和書籍的方式進行比較好。不管是視頻還是書籍,一定要看最經典的。市面上有太多良莠不齊的視頻和書籍,如果選擇了一個質量不好的材料來看,不僅會浪費很多時間,而且有可能還會被誤導。對於視頻的選擇,可以去各大培訓機構,里面通常有一些免費視頻資料供我們下載。

對於Linux應用的學習,主要有六部分:1. 環境搭建;2. 基本操作;3. 系統編程;4. 網絡編程;5. 數據庫編程,6. Shell編程。下面一一詳細介紹。
1. 環境搭建
作為Linux工程師,毋庸置疑一定需要Linux環境。對於Linux環境的獲取,我們通常有兩種方式:
將電腦整體安裝為Linux系統;
在電腦里安裝一個虛擬機,跑Linux電腦;
Window+Linux雙系統。
得到Linux環境后還不夠,還要知道如何配置、如何遠程連接Linux電腦、如何與Linux電腦互傳文件、如何在主機上閱讀Linux電腦中的代碼,等等。

2. 基本操作
眾所周知,Linux很少或幾乎沒有界面,所有的操作幾乎都可以通過命令行來完成。對於運維人員來說,需要掌握相當大量的Linux命令。而對於應用、驅動方向的人員來說,只需掌握一些基本的常用的命令即可。
3. 系統編程
在學系統編程之前,一定要先學習Makefile,這會為后續的學習提高很大效率。之后的系統編程,主要有幾大塊:IO編程、進程、線程、進程間通訊(包括管道、信號、信號量、共享內存等)。這幾部分學完了,基本也就差不多了。

4. 網絡編程
網絡編程主要就是socket,poll,epoll,以及對TCP/IP的理解,同時要學會高並發式服務器的編寫。
5. 數據庫編程
數據庫的內容其實並不屬於Linux,但在項目中經常要用到。這部分主要要學會數據庫的基本操作,以及如何寫一套接口去操作數據庫。
6. Shell編程
Shell是Linux下的腳本語言,功能雖然不如高級語言強大,但它可能做很多事,在某些場合甚至比高級語言要方便得多。當然除了Shell腳本,還有Python腳本。

Linux應用編程書籍推薦:
a. UNIX環境高級編程。簡稱APUE,號稱程序員的聖經。它不是一本API字典,它還講述了很多操作系統的細節,內存,文件系統等方面,是一本難得的好書。但是它起點有點高,不適合初學者。
b. Linux程序設計。如果覺得APUE有點難入門的話,可以選擇此書進行入門。
c. Unix/Linux系統編程手冊。這本書號稱是一本超越APUE的書,它是一本比較新的書,里面新增了APUE所沒有的Linux/Unix新特性。而且對於一些概念性的東西講的確實比APUE好。但至於能否超載APUE,還有待歷史的考驗。
d. UNIX 網絡編程。也是一本非常經典的書,主要是網絡編程方向的。
e. MySQL必知必會。本書在Amazon上長期排在數據庫銷售榜首,建議想快速了解數據庫原理和MySQL的新手閱讀。快餐性質,簡潔明快,小開本,而且很薄,比較好閱讀。
f. Linux Shell腳本攻略。這本書很薄很精華,它追求的不是全,而是精,所以用它來入門再適合不過了。
學完以上六部分,基本就有能力完成Linux環境下的應用編程了。

但如果你想以編程語言立生,建議你先學習C語言打好基礎。C語言是一門通用計算機編程語言,是面向過程的語言,其語法結構及其嚴謹,且應用十分廣泛。而且只要將C語言研究透徹了的話,學習其他語言就會輕松很多。