全國(guó)咨詢(xún)/投訴熱線(xiàn):400-618-4000

首頁(yè)技術(shù)文章正文

讓Linux和C/C++工程師肆意飽覽的十二本群書(shū)

更新時(shí)間:2018-01-05 來(lái)源:黑馬程序員 瀏覽量:

人類(lèi)的成長(zhǎng)和進(jìn)步是離不開(kāi)書(shū)籍的。那是我們進(jìn)步的階梯,成功的基石。程序員也不外如是。然而,哪些才能真正的開(kāi)卷有益,可以放心大膽的拿來(lái)肆意翻看呢。

現(xiàn)在每年增加的信息量比過(guò)去幾百年還要多,不過(guò)好書(shū)還是那么少,能經(jīng)得起時(shí)間考驗(yàn)的經(jīng)典書(shū)就更少了,每個(gè)領(lǐng)域的經(jīng)典書(shū)就那么幾本,作為初學(xué)者應(yīng)該首先看完該領(lǐng)域的經(jīng)典書(shū),然后再看其他的流行好書(shū)。

選擇經(jīng)典,是因?yàn)檐Q身于這個(gè)站在光速上的互聯(lián)網(wǎng)時(shí)代,我們實(shí)在沒(méi)有時(shí)間花在爛書(shū)上,好書(shū)能更快更好的幫助我們理解內(nèi)容,好書(shū)是一種享受,你不會(huì)覺(jué)得讀書(shū)是一種辛苦。選擇英文書(shū)是因?yàn)椋@些經(jīng)典書(shū)的英文都寫(xiě)得樸實(shí)、簡(jiǎn)單,不超過(guò)大學(xué)四級(jí)的閱讀水平,長(zhǎng)時(shí)間侵淫英文書(shū)可以為自己以后學(xué)習(xí)和工作打好基礎(chǔ)。在工作中,最新最好最的資料都是英文的。多多浸染,不無(wú)益處。

以下是不管怎么推薦和轉(zhuǎn)載都不過(guò)分好書(shū)。

Linux 入門(mén)

《Running Linux》 和 《Linux in a Nutshell》 都是很棒的 Linux 入門(mén)書(shū),如果你是計(jì)算機(jī)專(zhuān)業(yè)出身,只需要這兩本書(shū)就可以了,這兩本書(shū)都包括一些初級(jí)系統(tǒng)管理內(nèi)容,Linux in a Nutshell 稍微難一點(diǎn),建議閱讀順序是先 Running Linux 后 Linux in a Nutshell.

系統(tǒng)管理和網(wǎng)絡(luò)

《UNIX System Administration Handbook 》可能是系統(tǒng)管理方面最權(quán)威的的一本大部頭百科全書(shū)式著作,第一版本是1989年發(fā)行的,以后一直是 Unix 系統(tǒng)管理的方面的經(jīng)典,其作者在2002年發(fā)布了對(duì)應(yīng)的 Linux Administration Handbook 第一版,然后又成了 Linux 系統(tǒng)管理的必讀,終于在2010年的時(shí)候作者把這兩本書(shū)合為一本 UNIX and Linux System Administration Handbook.

《Essential System Administration 》是另一個(gè) Unix/Linux 系統(tǒng)管理的經(jīng)典書(shū),可以替代 UNIX and Linux System Administration Handbook,不過(guò)建議兩本都看看。

《TCP/IP Illustrated, Volume 1: The Protocols 》是理解 TCP/IP 協(xié)議的必讀經(jīng)典,書(shū)的內(nèi)容不涉及具體的網(wǎng)絡(luò)管理命令,也不討論如何架設(shè)各種服務(wù)器,主要討論 TCP/IP 各層協(xié)議是如何工作的,不管你是 System Administrator, Network Administrator, DevOps 還是 System Programmer 這本書(shū)都必讀,就算今天用 Django, Ruby on Rails 之類(lèi)的框架編程也應(yīng)該了解一下底層 HTTP 協(xié)議是如何工作的,網(wǎng)絡(luò)包是如何一層一層的封裝、解封的。TCP/IP Illustrated 三部曲的另外兩本也很經(jīng)典,不過(guò)太窄太具體,除非你是 TCP/IP 協(xié)議設(shè)計(jì)者或網(wǎng)絡(luò)棧碼農(nóng),看 《TCP/IP Illustrated, Volume 2: The Implementation》的用處不是很大。

系統(tǒng)編程

《The UNIX Programming Environment 》是兩位 UNIX 大師 Brian W. Kernighan 和 Rob Pike 的合著,UNIX/Linux 編程入門(mén)的最好讀物,字里行間里浸透了 UNIX 的哲學(xué)和設(shè)計(jì)思想。

《The C Programming Language》 可能有人會(huì)問(wèn)為啥學(xué) Unix/Linux 要懂 C 語(yǔ)言,C 是 Unix/Linux 的核心,想繼續(xù)深入理解 Unix/Linux 必須懂點(diǎn) C 語(yǔ)言,不然下面一些書(shū)沒(méi)法繼續(xù)讀,C 語(yǔ)言還是一種優(yōu)美、高效的語(yǔ)言,每個(gè)程序員都應(yīng)該會(huì)(個(gè)人觀點(diǎn))。

《Advanced Programming in the Unix Environment 》是 Unix/Linux 編程的經(jīng)典必讀書(shū),被譽(yù)為業(yè)界圣經(jīng),Linux程序員必讀之作。Unix大師級(jí)作者 Richard Stevens 的巨著,事實(shí)上 Richard Stevens 的每本書(shū)都是巨著。

《Unix Network Programming》 是 Richard Stevens 另一巨著,這本經(jīng)典 Unix 網(wǎng)絡(luò)編程書(shū)可看作上面那本的補(bǔ)充。

編程還應(yīng)該包括 shell 編程,這里沒(méi)有單獨(dú)拿出來(lái)推薦是因?yàn)橐驗(yàn)樯厦嫱扑]的入門(mén)和系統(tǒng)管理書(shū)里面都或多或少包括了一些 shell 編程基礎(chǔ)知識(shí)。

操作系統(tǒng)原理和內(nèi)核

《Operating Systems: Design and Implementation》 是操作系統(tǒng)原理的經(jīng)典書(shū),講系統(tǒng)原理的還有另一本經(jīng)典恐龍書(shū) Operating System Concepts,我個(gè)人更喜歡前一本一些,理論加實(shí)踐,書(shū)的作者在大學(xué)教書(shū)的時(shí)候沒(méi)能找到滿(mǎn)意的操作系統(tǒng)來(lái)教學(xué)自己寫(xiě)了一個(gè) Minix,Linus Torvalds 發(fā)現(xiàn) Minix 太簡(jiǎn)單不實(shí)用自己寫(xiě)了一個(gè) Linux,貌似牛人都有共同的特點(diǎn),不滿(mǎn)意就自己造一個(gè)~,修改 Minix 內(nèi)核是很有趣的事情,換工作后一直沒(méi)機(jī)會(huì)再玩 Minix.

《Linux Device Drivers 》是內(nèi)核編程的入門(mén)讀物,難得這本經(jīng)典書(shū)還是免費(fèi)的。

《Understanding the Linux Kernel》 是 Linux 內(nèi)核方面的經(jīng)典,看這本書(shū)之前最好看過(guò)一些上面講操作系統(tǒng)原理的書(shū),不要指望看一遍就把這本書(shū)都搞懂,理解內(nèi)核難點(diǎn)的地方在于內(nèi)核之間的子系統(tǒng)是獨(dú)立又是交叉的,又缺少實(shí)際可運(yùn)行可修改的例子,不像 web 編程,改幾行代碼就可以立刻看到效果,所以?xún)?nèi)核學(xué)習(xí)是個(gè)痛苦的過(guò)程,這本書(shū)有助于建立一幅完整的 Linux 內(nèi)核圖景。


本文版權(quán)歸黑馬程序員C/C++學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!


作者:黑馬程序員C/C++培訓(xùn)學(xué)院


首發(fā):http://c.itheima.com/


分享到:
在線(xiàn)咨詢(xún) 我要報(bào)名
和我們?cè)诰€(xiàn)交談!