linux C高手成長過程---書籍推薦

建議學習路徑:
  首先先學學編輯器,vim, emacs什麼的都行。 而後學make file文件,只要知道一點就行,這樣就能夠準備編程序了。
  而後看看《C程序設計語言》K&R,這樣呢,基本上就能夠進行通常的編程了,順便找本數據結構的書來看。
  若是想學習UNIX/Linux的編程,《Advanced Programing in Unix Envirement》絕對經典的教材,加深一下功底,學習《Unix Network Programing》的第二卷。這樣基本上系統方面的就能夠掌握了。
  而後再看Douglus E. Comer的《用TCP/IP進行網際互連》第一卷,學習一下網絡的知識,再看《UNP》的第一卷,不只學習網絡編程,並且對系統編程的一些經常使用的技巧就很熟悉了,若是繼續網絡編程,建議看《TCP/IP進行網際互連》的第三卷,裏面有不少關於應用協議telnet、ftp等協議的編程。 若是想寫設備驅動程序,首先您的系統編程的接口好比文件、IPC等必需要熟知了,再學習《LDD》2。
  對於幾本經典教材的評價:
  《The C Programing Language》K&R 經典的C語言程序設計教材,做者是C語言的發明者,教材內容深刻淺出。雖然有點老,可是必備的一本手冊,如今有時候我還常翻翻。篇幅比較小,可是每看一遍,就有一遍的收穫。另外也可用譚浩強的《C語言程序設計》代替。
  《Advanced Programing inUnix Envirement》 W.RichardStevens:也是很是經典的書(廢話,Stevens的書哪有不經典的!),雖然初學者就能夠看,可是事實上它是《Unix NetworkPrograming》的一本輔助資料。國內的翻譯的《UNIX環境高級編程》的水平不怎麼樣,如今有影印版,直接讀英文比讀中文來得容易。
  《Unix Network Programing》W.Richard Stevens:第一卷講BSD Socket網絡編程接口和另一種網絡編程接口的,不過如今通常都用BSD Socket,因此這本書只要看大約一半多就能夠了。第二卷沒有設計到網絡的東西,主要講進程間通信和Posix線程。因此看了《APUE》之後,就能夠看它了,基本上系統的東西就由《APUE》和《UNP》vol2歸納了。看過《UNP》之後,您就會知道系統編程的絕大部分編程技巧,即便卷一是講網絡編程的。國內是清華翻譯得《Unix網絡編程》,翻譯者得功底也比較高,翻譯地比較好。因此建議仍是看中文版。
  《TCP/IP祥解》一共三卷,卷一講協議,卷二講實現,卷三講編程應用。我沒有怎麼看過。,可是聽說也很經典的,由於我沒有時間看卷二,因此不便評價。
  《用TCP/IP進行網際互連》Douglus.E.Comer 一共三卷,卷一講原理,卷二講實現,卷三講高級協議。感受上這一套要比Stevens的那一套要好,就連Stevens也不得不認可它的第一卷很是經典。事實上,第一卷即便你沒有一點網絡的知識,看完之後也會對網絡的前因後果瞭如指掌。第一卷中還有不少習題也設計得經典和實用,由於做者自己就是一位教師,而且卷一是國外研究生的教材。習題並無答案,留給讀者思考,由於問題得答案可讓你成爲一箇中級的Hacker,這些問題的答案能夠象Douglus索取,不過只有他只給教師卷二我沒有怎麼看,卷三能夠做爲參考手冊,其中地例子也很經典。若是您看過Qterm的源代碼,就會知道Qterm的telnet  實現部分大多數就是從這本書的源代碼過來的。對於網絡原理的書,我推薦它,而不是Stevens的《TCP/IP祥解》。
  《Operating System - Designand Implement》這個是講操做系統的書,用Minix作的例子。做者母語不是英文,因此英文看起來比較晦澀。國內翻譯的是《操做系統 設計與實現》,我沒看過中文版,由於翻譯者是尤晉元,他翻譯的《APUE》已經讓我失望頭頂了。讀了這本書,對操做系統的底層怎麼工做的就會 有一個清晰的認識。
  《Linux Device Driver》2e ,爲數很少的關於Linux設備驅動程序的好書。不過內容有些雜亂,若是您沒有一些寫驅動的經驗,初次看會有些摸不着南北。國內翻譯的是《Linux設備驅動程序》第二版,初版,第二版的譯者我都有很深的接觸,http://blog.csdn.net/shanzhizi不過整體上來講,雖然第二版翻譯的有些不盡人意,可是相比初版來講已經超出了一大截。要讀這一本書,至少應該先找一些《計算機原理》《計算機體系結構》的書來馬馬虎虎讀讀,至少應該對硬件和計算機的工做過程有一些瞭解。
推薦《unix環境高級編程》 《linux kernel development》(中文名忘了) 《linux內核剖析》 《linux設備驅動》 《深刻理解linux內核》linux

 

 

 

 

初級:熟練使用命令、熟悉Shell編程、能配置簡單的服務,清楚各種服務相關的配置文件的位置, 能看懂並可修改系統提供的配置腳本(/etc/*.* 推薦書籍: 《鳥哥的私房菜基礎篇、高級篇》 Advanced Bash Shell
中級:熟悉TCP/IP原理、OS原理、熟練使用C語言、Linux系統編程、網絡編程。 推薦書籍: The C Programming Language Unix環境高級編程》 Linux程序設計》 TCP/IP協議詳解卷一》 Unix網絡高級編程》
高級: Linux Device Driver 《深刻理解Linux內核》 《深刻理解計算機系統》 《深刻理解LINUX網絡內幕》
算法

 

 

嵌入式書籍推薦  Linux基礎http://blog.csdn.net/shanzhizi  1、《LinuxUnixShell 編程指南》  C語言基礎  1、《C Primer Plus5thEdition》【美】Stephen Prata  2、《The CProgramming Language, 2nd Edition》【美】Brian W.Kernighan David M. RithieK & R)着  3、《AdvancedProgramming in the UNIX Environment2nd Edition》(APUE  4、《嵌入式Linux應用程序開發詳解》  Linux內核  1、《深刻理解Linux內核》(第三版)  2、《Linux內核源代碼情景分析》毛德操 胡希明著     研發方向  1、《UNIX NetworkProgramming》(UNP  2、《TCP/IP詳解》  3、《Linux內核編程》  4、《Linux設備驅動開發》(LDD)   5、《Linux高級程序設計》 楊宗德著    硬件基礎  1、《ARM體系結構與編程》杜春雷着  2S3C2410Datasheet     英語基礎  1、《計算機與通訊專業英語》     系統教程  1、《嵌入式系統――體系結構、編程與設計》  2、《嵌入式系統――採用公開源代碼和StrongARM/Xscale處理器》毛德操 胡希明着  3、《BuildingEmbedded Linux Systems》    4、《嵌入式ARM系統原理與實例開發》 楊宗德著    理論基礎  1、《算法導論》  2、《數據結構(C語言版)》  3、《計算機組織與體系結構?性能分析》  4、《深刻理解計算機系統》【美】RandalE. Bryant David O''Hallaron  5、《操做系統:精髓與設計原理》  6、《編譯原理》  7、《數據通訊與計算機網絡  8、《數據壓縮原理與應用》 
C語言書籍推薦  1. The C programming language 《C程序設計語言》  2. Pointers on C 《C和指針》  3. C traps and pitfalls 《C陷阱與缺陷》  4. Expert C Lanuage 《專家C編程》  5. Writing Clean Code -----MicrosoftTechiniques for Developing Bug-free C Programs     《編程精粹--Microsoft 編寫優質無錯C程序祕訣》  6. Programming Embedded Systems in C and C++ 《嵌入式系統編程》  7.C語言嵌入式系統編程修煉》  8.《高質量C++/C編程指南》林銳     儘量多的編碼,要學好C,不能只注重C自己。算法,架構方式等都很重要。 
編程

相關文章
相關標籤/搜索