那些被遺忘的 UNIX/Linux 經典著作

2021-02-13 Linux學習

來自:程式設計師書庫(ID:OpenSourceTop) 編譯

書單來自:https://medium.com/@sarahelson81/top-6-books-for-unix-and-shell-scripting-beginners-d3e4de7af7a6

你可以通過許多種不同的方式去學習新的程式語言,有些人關注博客,有些人看在線教程,而有些人則喜歡安安靜靜坐下來讀一本好書,就我個人而言,我還是比較信賴傳統的學習方式,Unix自1960年誕生以來,就一直在不斷發展,特別是對於移動開發和伺服器環境管理,學習Unix非常重要,因為它為高級編程奠定了基礎。

本文,我將會列出一些需要閱讀的書籍,如果你希望Unix和shell腳本編寫的熟練程度,不妨從這幾本書裡選擇

1、《UNIX環境高級編程(第3版)》

這本書是市場上最好的書之一,W.Richard Stevens在30年前就寫下了這本書,開發人員一致認為本書是永恆的經典,新的第3版支持當今領先的系統平臺,反映了最新技術進展和最佳實踐,並且符合最新的Single UNIX Specification第4版(SUSv4)。

如果你想學習Unix,這是最好的入門書籍,對於已經了解了Unix並希望進一步提升學習的程式設計師,也大力推薦這本書,總之本書所有層次UNIX/Linux程式設計師

2、《Linux/UNIX系統編程手冊》

這本書的作者Michael Kerrisk是Unix的維護者,他從1987年開始研究Unix,從1990年開始關注Linux。但是,要理解本書,你需要清楚地了解Unix的基本概念。涵蓋了逾500個系統調用及庫函數,並給出逾200個程序示例,另含88張表格和115幅示意圖。

總體而言,本書布局合理,論述清晰,說理透徹,尤其是作者對示例代碼的構思巧妙,獨具匠心,仔細研讀定會受益良多。

3、《Linux程序設計》

Richard Stones和Neil Mathew寫的這本書,有幾個版本可供選擇,目前是第四版,對於想要成為一名Unix編程專家的初學者來說,這是最好的入門書籍之一,這本書從shell一直講到x-window編程,從簡單的TCP/IP網絡協議到最大限度利用Linux中的開發工具,使你很容易就學會在不同版本的Linux版本上編寫出運行良好的程序。

4、《How Linux Works》

這本書由布萊恩·沃德(Brian Ward)撰寫,程式設計師通常都把時間花在理解技術上(如.Net或Java)背後的工作流程/原理,卻很少有人把時間花在Linux上,通過閱讀這本書,開發人員就能詳細了解每個細節是如何運作的:

5、《Linux Kernel Development》

本書由Robert Love編寫,主要關注Linux內核級編程新手所犯的錯誤。理解內核是Linux開發人員的基本要求之一。不管你是專家還是初學者,這本書都會在很多方面幫助你,它詳細講解了內核的接口、設計和實現,通過實際例子來解釋內核編程,章節包括使用虛擬內存的內存分配,內核數據結構、處理內核Bug等。

6、《Advanced Unix Programming》

Mark J. Rochkind編寫了這本書的第二版,為開發人員提供了一種更現代的學習方法。這本書既可用作工作指南,也可用作參考書。書中介紹了Linux的歷史,還包括套接字、線程等細節。早些時候,Stevens的書被認為是最適合學習Linux的開發人員的書,但是就可讀性而言,這本書稍微好一些。

7、《UNIX編程環境》

是Brian W.Kernighan和Rob Pike兩位UNIX大師的合力之作,書中引用了大量編程實例,由淺入深地講解了如何使用unix及其各種工具,以及如何用c語言在unix環境下寫出高質量的程序。對於想深入掌握unix和c語言的程序設計人員是一本很好的參考書。

8、《UNIX作業系統設計》

這本書很老,但是不可錯過,是Linux之父Linux Torvalds曾捧讀的經典著作。它向讀者展示了UNIX最開始的設計和實現,UNIX內核體系結構,緊密耦合的多處理機UNIX系統和鬆散耦合的分布式UNIX系統等,為從事UNIX系統研究與實用程序開發人員提供了一本極有價值的參考資料。

9、《萊昂氏UNIX原始碼分析》

本書由上、下兩篇組成。上篇為UNIX版本6的原始碼,下篇是萊昂先生對UNIX作業系統版本6原始碼的詳細分析。本書語言簡潔、透徹,曾作為未公開出版物廣泛流傳了二十多年,是一部傑出經典之作。

以上提到的名單僅代表我的個人觀點,市面上還有許多書,都值得稱讚,程式設計師也都非常喜歡,要成為一名更好的程式設計師,Linux是一定要學的,因為它教會您很多關於網絡、系統編程、作業系統以及進程間通信的知識。所以,趕緊深入研究shell腳本和內核編程吧

如果上面這些書還不夠你選擇,你還可以點擊以下連結查閱:

《這可能是學習Linux最好的10本免費電子書》

《各大網站銷量最高的Linux書籍》

●編號662,輸入編號直達本文

●輸入m獲取文章目錄

運維

更多推薦25個技術類公眾微信

涵蓋:程序人生、算法與數據結構、黑客技術與網絡安全、大數據技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。

相關焦點

  • unix是什麼作業系統_unix作業系統怎麼安裝
    打開APP unix是什麼作業系統_unix作業系統怎麼安裝 網絡整理 發表於 2020-09-02 16:01:57   unix是什麼作業系統
  • 你眼中的Linux高手,都應該讀過這幾本書!
    linux之路,路漫漫其修遠兮,吾將上下而求索!這本書介紹如何生存在 Linux 命令行的世界。不像一些書籍僅僅涉及一個程序,比如像shell 程序, bash。這本書將試著向你傳授如何與命令行界面友好相處。它是怎樣工作的?它能做什麼?使用它的最好方法是什麼?
  • Unix和Linux作業系統有什麼區別?
    它之所以要開發linux系統,是因為它覺得教學用的Unix太難用了。於是就參考unix系統的特點和功能,開發了一個Linux系統。於1991年9月發布,當時只有10000行代碼。功能基本和Unix是相似,但重點是他毫無保留的將自己的成果和大家分享,並邀請大家一起完善Linux。這位Linux後來發展奠定了良好基礎。
  • 巧用 Curl 命令測試 Unix Socket 接口
    例如 ingress-nginx 的監聽地址為 unix:/tmp/nginx-status-server.sock 。server {        listen unix:/tmp/nginx-status-server.sock;        set $proxy_upstream_name "internal";        keepalive_timeout 0;        gzip off;
  • Linux 上 12 個高效的文本過濾命令
    /checkAPT.pyJan  2 10:51:34 TecMint sudo: pam_unix(sudo:session): session opened for user root by (uid=0)Jan  2 10:51:39 TecMint sudo: pam_unix(sudo:session): session closed for user root
  • Linux系統的Linux應該怎麼讀?正確讀法在這裡,很多人都讀錯了!
    1、linux發音五花八門版本頗多,見到和聽到的不下10種。根據linux的創始人Linus Torvalds的說法,Linux的發音和「Minix」是押韻的。3、有人綜合網上和linux自己的讀音,概括出幾個自認為最合適也最通用的讀法:/li'n^ks/(「裡那克斯」)或/'li:nэks/(「裡訥克斯」)或/li'nju:ks/(「裡紐克斯」)。4、這幾個應該是誰都聽得懂的。至於哪個比較正宗,當然是linux的原因。但事實上使用linux哪種讀法的人似乎都不在少數。
  • linux基礎複習(5)建立linux開發環境
    this.resized) {return true;} else {window.open(this.src);} alt= src=http://blogimg.chinaunix.net/blog/upfile2/080412124954.jpg onload=if(this.width>screen.width*0.7) {this.resized=true; this.width
  • Linux基礎命令帖:echo的使用
    輸出ascii字符[root@localhost ~]# echo -e "\x31" //十六進位的31,換算成49,代表的ascii字符就是11[root@localhost ~]#原文來自:http://blog.chinaunix.net
  • linux系統工控機-ubuntu烏班圖嵌入式工業電腦
    linux系統工控機-807A正面Linux是自由的免費開源的,它是以unix為原型改造的,一個多用戶多任務的作業系統,任何人都可以修改其代碼和頁面,其中主要的目的就是為了不收商業化的限制,而我們將伺服器部署在linux系統上會更加高效穩定、安全(註:UNIX作業系統(尤尼斯),是一個強大的多用戶、多任務作業系統,支持多種處理器架構
  • ODU在Linux和Unix平臺下的使用
    作業系統:Redhat Linux AS 5.0將odu_210_linux_x86.tar.gz上傳到oracle用戶的home目錄,這裡為/export/home/oracle,輸入命令:tar xzvf odu_210_linux_x86.tar.gz,即可解開壓縮包。解開生成的所有文件和目錄在/export/home/oracle/odu目錄下。
  • linux虛擬攝像頭vivid配置
    本文轉載自【微信公眾號:羽林君,ID:Conscience_Remains】,經微信公眾號授權轉載,如需轉載與原文作者聯繫總述最近在看攝像頭驅動,需要配置虛擬攝像頭的驅動,但是教程裡面是linux2.6內核的,實際電腦的是Ubuntu16,內核是linux4.15版本,從2.6到4.15內核好多文件發生了變化,所以我們該怎麼操作呢?
  • 28 個 Unix/Linux 的命令行神器 - OSCHINA - 中文開源技術交流社區
    Slash』EM 也是一個基於NetHack的經典遊戲。 lftp 利用lftp命令行ftp工具進行網站數據的增量備份,鏡像,就像使用rsync一樣。 ack ack是一個perl腳本,是grep的一個可選替換品。其可以對匹配字符有高亮顯示。
  • windows,mac os,linux三大pc作業系統,到底有啥區別!
    優點是穩定,基於unix內核,基本上幾個月不關機都沒啥問題;生態較好,體系沒有windows系統大,因為他是封閉的作業系統,所有的軟體上架都需要蘋果認證,所以軟體會少一些,但正是得益於此,它的軟體質量上要高一些,保證日常工作需求沒有問題(這就好比安卓和ios的區別);安全性較好,用戶體驗較好,界面美觀(個人感覺,同感的評論區扣 1啊),幾乎沒有病毒,不用操心各種彈窗和全家桶的幹擾。
  • 馬克思主義經典著作基本觀點研究
    這裡,我們約請馬克思主義經典著作基本觀點研究課題組的幾位專家撰寫文章,分別從哲學、政治經濟學、科學社會主義等方面,介紹我國馬克思主義經典著作基本觀點研究的新進展。這就需要我們努力辨識經典作家的哪些論斷在當時的歷史條件下是正確的,但在現時代那些歷史條件已經不復存在,從而需要對這些論斷進行新的反思;努力辨識我們現在面臨的哪些重大理論和現實問題是經典作家所不曾遇到的,因此需要我們作出新的理論概括;努力辨識馬克思主義誕生後科學研究和社會實踐取得了哪些重大的突破性進展,需要我們及時地用人類文明的優秀成果來豐富馬克思主義理論。
  • 周新城:怎樣學習經典著作?
    馬克思主義凝結在馬克思、恩格斯、列寧、史達林、毛澤東等革命導師的經典著作中,只有認真讀經典著作才能掌握馬克思主義。習近平2012年在視察中國人民大學《資本論》教學研究中心時,強調要認真讀馬克思主義經典著作,老祖宗不能丟。 為什麼要讀經典著作,怎麼讀經典著作,這是擺在我們面前的一個重要問題。我想結合自己的學術生涯,就此談一些看法。
  • 超經典!工程師嵌入式Linux自學筆記及體會
    超經典!需要軟體: minicom-xx.src.tar.gz 和 syslinux-xx.tar.gz,xx 代表版本號,開始之前,在主目錄建立一個目錄,來釋放這兩個軟體包:   cd   mkdir -p project/minilinux   cd project/minilinux
  • Linux運維之Linux文件管理
    文件名稱區分大小寫( 大小寫敏感還需要看具體的文件系統格式 ),以.開頭的為隱藏文件,路徑用/來進行分割(windows中使用\來分割),文件有兩個種類:元數據與數據本身.在操作linux系統時,通常會遵循以下的分層結構規則:LSB (Linux Standard Base) / FHS
  • 人民日報觀點:研讀經典著作 掌握看家本領
    深入理解、掌握馬克思主義哲學,需要認真學習和研讀馬克思主義經典著作。黨員幹部包括理論工作者應原原本本學習和研讀經典著作,努力把馬克思主義哲學作為自己的看家本領。   研讀經典著作是把握馬克思主義基本原理的基本功。馬克思主義經典著作蘊含和集中體現了馬克思主義基本原理,是馬克思主義理論的本源和基礎。
  • 學習《馬列主義經典著作選編》的體會
    山西省晉中市紀委派駐市糧食局紀檢組長 呼俊敏    近兩年我研讀了《馬列主義經典著作選編》和《馬列主義經典著作選編學習導讀》,使我深刻感悟到經典原著的理論本源,領會經典作家所表達的深邃思想,對於指導工作具有重要意義。
  • 這些奇怪的unix/linux命令名稱都是什麼意思?
    [英文原文:What does {some strange unix command name} stand for? ]