Linux學習路線及網路程式設計經典書籍(轉載)

百無一用狂書生發表於2018-08-27

linux學習資源整理:https://zhuanlan.zhihu.com/p/22654634

Linux初學者(學習資料):https://zhuanlan.zhihu.com/p/21723250

知乎 - 你是如何學習 Linux 程式設計的?:https://www.zhihu.com/question/20730157

如果讓你推薦一本 Linux 書籍,你會推薦什麼?:https://www.zhihu.com/question/20341603/answer/246718241

Linux+開發+運維->推薦書籍與學習路線:http://www.cnhonkerarmy.com/thread-220235-1-1.html

《Linux雲端計算從入門到精通》系列實戰筆記:http://www.178linux.com/87104

 

 

Linux 學習路線

 

1. 《鳥哥的linux私房菜》

 

鳥哥官網:http://linux.vbird.org

鳥哥的linux私房菜分為《鳥哥的linux私房菜 基礎學習篇》《鳥哥的linux私房菜 伺服器架設篇》。先看基礎篇,再看伺服器架設篇。讀完這兩本書後可以再看下《Linxu 就該這麼學》和 《構建高可用 LInux 伺服器》這兩本書是關於Linux運維的。這些書讀完之後你就對 linux 系統有整體的瞭解和感知,也可以感受linux與windows的不同。網上有 pdf 版本的電子書,可以下載看下。如果想學Linux運維的話,可以找一些培訓機構的視訊看下,例如:馬哥Linux運維、等。也可以向培訓機構的客服要下他們的課程大綱然後自學,或者直接去培訓機構系統全面的學習。培訓是一個入門捷徑。但是能學到多少就看自己了。師傅領進門,修行靠個人。

 

2. 《apue》 unix環境高階程式設計

 

APUE說明及原始碼下載地址 :http://www.apuebook.com/

apue(Advanced Programming in the UNIX Environment) 被譽為 UNIX程式設計 “聖經”。
目前最新的是第三版,可以網上下載第二版或者第三版的pdf

 

 

3. Unix 網路程式設計 (即 UNP) 分 卷一 和 卷二

 

Unix 網路程式設計原始碼下載:http://unpbook.com/

Unix 的網路程式設計必看的書籍(網上也可以下載電子版)

 

4. 《TCP/IP詳解》 卷一 和 卷二 

 

《TCP/IP詳解》也是經典鉅著。總共 三卷(卷1是協議。卷2是實現。卷三是TCP事務協議、HTTP、NNTP和UNIX域協議)

 

5. Linux 伺服器方向

 

《高效能伺服器程式設計》《Linux多執行緒伺服器端程式設計》

Linux 伺服器方面書籍

Linux書籍:https://www.zhihu.com/search?type=content&q=linux%E4%B9%A6%E7%B1%8D

 

6. 閱讀第三方庫原始碼

 

例如: libevent、nginx 等。

 

Libevent 是一個用C語言編寫的、輕量級的開源高效能事件通知庫,主要有以下幾個亮點:事件驅動( event-driven),高效能;輕量級,專注於網路,不如 ACE 那麼臃腫龐大;原始碼相當精煉、易讀;跨平臺,支援 Windows、 Linux、 *BSD 和 Mac Os;支援多種 I/O 多路複用技術, epoll、 poll、 dev/poll、 select 和 kqueue 等;支援 I/O,定時器和訊號等事件;註冊事件優先順序。
Libevent 已經被廣泛的應用,作為底層的網路庫;比如 memcached、 Vomit、 Nylon、 Netchat等等。

 

Nginx (engine x) 是一個高效能的HTTP和反向代理伺服器,也是一個IMAP/POP3/SMTP伺服器。其將原始碼以類BSD許可證的形式釋出,因它的穩定性、豐富的功能集、示例配置檔案和低系統資源的消耗而聞名。Nginx是一款輕量級的Web 伺服器/反向代理伺服器及電子郵件(IMAP/POP3)代理伺服器,並在一個BSD-like 協議下發行。其特點是佔有記憶體少,併發能力強,事實上nginx的併發能力確實在同型別的網頁伺服器中表現較好,中國大陸使用nginx網站使用者有:百度、京東、新浪、網易、騰訊、淘寶等。

 

7. linux學習的方向及深度

 

https://www.zhihu.com/question/21492447

 

 

 

網路程式設計經典書籍

 

 

首先要說講述TCP/IP的書很多,其中有3本書很全。

分別是《TCP/IP詳解》三卷本,《用TCP/IP進行網際互連》三卷本,《TCP/IP指南》+《IPv6》四卷本

其中TCP/IP詳解的作者還寫了另外2本經典著作,《Unix環境高階程式設計》,《Unix網路程式設計》

作者W.Richard Stevens個人網站  http://www.kohala.com/

大師作品部部經典,可惜1999年去另一個世界維護Unix了。。。。。。。。。

 

說明:搞Linux網路程式設計的,想學TCP/IP的一定要看大師W.Richard Stevens這六本書,基本上六本書看完基礎也就搭好了。

 

 

        W.Richard Stevens(1951-1999),國際知名的UNIX和網路專家,受人人尊敬的作家。他的著作有《UNIX網路程式設計》(兩卷本),《UNIX網路高階程式設計》,《TCP/IP詳解》(三卷本)等,同時他還是廣受歡迎的教師和顧問。 
  Stevens先生1951年生於尚比亞,早年,他就讀於美國弗吉尼亞州的費什本軍事學校,後獲得密歇根大學學士、亞利桑那大學系統工程碩士和博士學位。他曾就職於基特峰國家天文臺,從事計算機程式設計。 
  Stevens先生不幸病逝於1999年9月1日,他的離去是計算機界的巨大損失。 
  W. Richard Stevens對我們這些學習Unix/Linux的程式設計師的影響是巨大的,每每捧讀老先生的書都會被感動,不僅被他那豐富的知識所折服,更是被他那一絲不苟,嚴謹治學的態度所傾倒。“他不清楚的,他下決心要弄明白。他知道的,他要努力傳授給所有感興趣的人們!”這就是我們的Stevens!一生能有其一部力作可謂無憾矣!而況七部乎? 
  一位朋友說:“Stevens的書一定要全部認真地去讀的。”我想他是對的。最後,對Stevens在天英靈說聲:謝謝您!想必這時他正坐在上帝身邊,繼續從事他的寫作。 

W. Richard Stevens Biography :http://www.kohala.com/start/bio1.html 
W. Richard Stevens' Home Page :http://www.kohala.com/start/ 
W. Richard Stevens on Wikipedia :http://en.wikipedia.org/wiki/W._Richard_Stevens 
Guru of the Unix gurus :http://archive.salon.com/tech/feature/2000/09/01/rich_stevens/index.html

----------------------------------------------------------------------------------------------------------------------------------------------------------------

《用TCP/IP進行網際互連第一卷:原理、協議與結構(第五版)》

《用TCP/IP進行網際互連第二卷——設計、實現與核心》

《用TCP/IP進行網際互連第三卷:客戶-伺服器程式設計與應用(Linux/POSIX套接字版)》

說明:這個系列也是三卷本,和《TCP/IP詳解》三卷本一樣也是經典,區別是  網際互聯 偏重理論 而 詳解偏重實際。

----------------------------------------------------------------------------------------------------------------------------------------------------------------

如果你看了上面2套TCP/IP的書6本還不盡興,還有一套書可以作為提高或者查缺補漏

雖然與W.Richard Stevens TCP/IP詳解 有一定的差距,但仍不失為下一代IPv6網路的參考工具書,值得收藏學習

----------------------------------------------------------------------------------------------------------------------------------------------------------------

《TCP/IP協議原理與應用(第3版)》

寫的非常好,建議一定要買!可作入門,但即使是高手,也應看看,學習作者分析問題的方法和思想。其實是無數次印刷了,經典不能錯過。

----------------------------------------------------------------------------------------------------------------------------------------------------------------

《TCP/IP高效程式設計 : 改善網路程式的44個技巧》

很明顯屬於技巧類的書,同樣這本書很老,但是還是很有參考價值,這本書中大量出現Unix網路程式設計的提示,可以作為其補充。

----------------------------------------------------------------------------------------------------------------------------------------------------------------

《TCP/IP架構、設計及應用(Linux版)》

談不上經典,可以補充閱讀

----------------------------------------------------------------------------------------------------------------------------------------------------------------

《linux網路體系結構:linux核心中網路協議的設計與實現》

又名: The Linux Network Architecture: Design and Implementation of Network Protocols in the Linux Kernel
書名: Linux網路體系結構
說明:翻譯的很不好,建議看原版,可以下電子版。

一本在kernel實現網路功能的基礎書籍,最好還是看英文版的,翻譯的實在太爛了。有條件的還是看原版吧,沒辦法啊,中國的此類書籍基本上落後老美3-4年。結合linux原始碼分析一書收穫更多。一併把核心結構和各功能在核心中的關係也搞清楚了。

----------------------------------------------------------------------------------------------------------------------------------------------------------------

本人寫的另外系列,配合一起看效果更好,因為C語言是語言,還需要到實際環境Linux中去用,而Linux環境下網路程式設計自然需要TCP/IP的知識:

 

C語言經典著作導讀
Linux核心學習四庫全書

https://blog.csdn.net/freeking101/article/details/71473369

相關文章