如何學(xué)習(xí)Linux
在現(xiàn)在的生活瞎疼,生產(chǎn)辣之,研究等領(lǐng)域巷查,Linux已經(jīng)無所不在绩社,從我們使用的手機(jī),車載設(shè)備偎漫,到服務(wù)器穆咐,桌面電腦等耕陷,Linux已經(jīng)成為這個(gè)世界方方面面的基石遇伞。尤其對(duì)于參與技術(shù)有關(guān)工作的你學(xué)習(xí)Linux是必須的辙喂,那么,該如何有效的學(xué)習(xí)呢鸠珠?Linux從誕生至今巍耗,已經(jīng)是一個(gè)非常龐大且復(fù)雜的系統(tǒng),下圖是Linux系統(tǒng)代碼行數(shù)的統(tǒng)計(jì)(參考linuxcounter):
可見截止本文為止渐排,Linux的代碼行數(shù)逼近2千萬行芍锦,你就每天看1萬行也得要6,7年飞盆,況且這還只是Linux內(nèi)核的代碼量,再加上每個(gè)Linux發(fā)行版本有關(guān)的代碼次乓,估計(jì)得突破天際了吓歇。因此,要在短期內(nèi)全面的學(xué)習(xí)Linux的方方面面對(duì)于一個(gè)正常的人來說幾乎不太可能票腰。所以城看,學(xué)習(xí)Linux的關(guān)鍵便在于對(duì)于學(xué)習(xí)Linux的目的一定要明確,通常來講可能會(huì)涉及到一下方面:
- 了解及入門
- 成為Linux的系統(tǒng)管理員
- 學(xué)習(xí)Linux應(yīng)用編程
- 學(xué)習(xí)Linux內(nèi)核開發(fā)
當(dāng)然杏慰,這只是其中幾個(gè)大的方面测柠,即便如此,其中每個(gè)方面都是一個(gè)非常大的議題缘滥。比如說學(xué)習(xí)Linux內(nèi)核開發(fā)
轰胁,這個(gè)就包括了無數(shù)小的方面,內(nèi)核本身就包括了非常多的細(xì)分方向朝扼,比如有的搞網(wǎng)絡(luò)赃阀,有的搞文件系統(tǒng),有的搞驅(qū)動(dòng)開發(fā)等等擎颖。所以榛斯,對(duì)于Linux观游,還請(qǐng)千萬慎重的評(píng)價(jià)自己是否真的精通
,學(xué)無止境驮俗,真要精通
Linux的主要方面懂缕,有可能需要窮盡你的個(gè)人生涯。
當(dāng)然王凑,對(duì)于學(xué)習(xí)Linux搪柑,前人已經(jīng)鋪好了無數(shù)的基石,有無數(shù)可以參考學(xué)習(xí)的資料荤崇,而且內(nèi)核也是開源的拌屏,必要的時(shí)候可以查看其代碼,甚至已經(jīng)有非常多幫你分析內(nèi)核代碼的書籍資料术荤,甚至還有很多中文資料倚喂。所以,不論你打算要學(xué)習(xí)到如何的程度瓣戚,已經(jīng)有無數(shù)的資料可以參考端圈,也有極為龐大的社區(qū)可以依靠。本文將就Linux學(xué)習(xí)推薦一些經(jīng)典免費(fèi)的書籍子库,主要側(cè)重覆蓋從入門到成為系統(tǒng)管理員的有關(guān)方面舱权,學(xué)習(xí)對(duì)象為初學(xué)Linux,以及需要重新系統(tǒng)學(xué)習(xí)Linux的讀者仑嗅,將涵蓋以下方面:
- 入門基礎(chǔ)
- Linux命令行及工具
- Linux Bash腳本
- Linux發(fā)行版本
- Linux系統(tǒng)管理
- Linux基本開發(fā)
為啥需要重點(diǎn)學(xué)習(xí)系統(tǒng)管理方面呢宴倍?有的Linux開發(fā)人員可能會(huì)說,不是有專門的Linux系統(tǒng)管理員嗎仓技,有必要花大力氣學(xué)習(xí)系統(tǒng)管理嗎鸵贬?這個(gè)博主表示是非常有必要,開發(fā)可能側(cè)重于功能的實(shí)現(xiàn)脖捻,而且往往側(cè)重于細(xì)節(jié)阔逼,然而系統(tǒng)管理則直接面向功能本身,更多的是從整個(gè)系統(tǒng)的宏觀角度來熟悉Linux地沮。咱們有句話說
不識(shí)廬山真面目嗜浮,只緣身在此山中
便是這個(gè)道理,開發(fā)者對(duì)于細(xì)節(jié)或許極為了解摩疑,但是未必對(duì)整個(gè)系統(tǒng)功能有足夠的熟悉危融。而如果對(duì)于宏觀的系統(tǒng)整體有足夠的理解,對(duì)于開發(fā)本身來說也是有很大的促進(jìn)作用的未荒。
書籍推薦
入門基礎(chǔ)書籍
Introduction to Linux
這是一本免費(fèi)的書专挪,來自于Linux文檔項(xiàng)目。雖然免費(fèi),但是不影響它的流行程度寨腔,該書比較系統(tǒng)的介紹了Linux的一些基本概念速侈,包括文件系統(tǒng),命令行迫卢,網(wǎng)絡(luò)等倚搬。但是鑒于Linux現(xiàn)在也是版本帝,有些內(nèi)容可能跟不上最新的版本乾蛤,但是每界,這完全不影響對(duì)于基本概念的理解。
Linux Fundamentals
從這本書的書名就可以看出家卖,作者Paul Cobbaut就是側(cè)重于介紹Linux最基礎(chǔ)的有關(guān)知識(shí)眨层。涉及到Linux的歷史,如何安裝以及一些簡單但是常用的命令上荡。
Linux命令行及工具書籍
GNU/Linux Command?Line Tools Summary
這本書同樣來自于Linux文檔項(xiàng)目趴樱。適于初學(xué)Linux命令行的讀者。
Bash Reference Manual from GNU
此書來自于GNU酪捡,著重介紹Linux命令行叁征。
The Linux Command Line
如果你把前面的幾本基本的命令行的書籍啃完,并迫切希望能夠進(jìn)一步深入了解命令行逛薇,那么這本出自William Shotts的書是必須一讀的捺疼,此書500多頁的篇幅,極為詳盡的介紹了Linux命令行永罚,也許你自詡比較熟悉命令行啤呼,相信此書還是能夠帶個(gè)你新的見識(shí)。
Linux Bash腳本書籍
Bash Beginners Guide
顧名思義呢袱,此書就是為初學(xué)者準(zhǔn)備的媳友,同樣來自于Linux文檔項(xiàng)目。
Advanced Bash-Scripting Guide
如果你對(duì)Linux Bash腳本有了基本的認(rèn)識(shí)产捞,那么這本書將是你進(jìn)階的必備書籍。此書900多頁的篇幅涉及Bash腳本的方方面面哼御,不論對(duì)于打算進(jìn)階或者已經(jīng)較為熟悉的人來說都是一本重要的參考書籍坯临。
The AWK Programming Language
AWK命令是一個(gè)極為強(qiáng)大的Linux命令,同時(shí)提供非常強(qiáng)大的腳本支持恋昼。也正是因?yàn)閺?qiáng)大看靠,所以就有專門的書籍來介紹這個(gè)命令,如果你要把自己的Linux命令再提升一點(diǎn)的話液肌,建議看下這本書來深入的學(xué)習(xí)該命令挟炬。
Linux 101 Hacks
不論從這本書的書名,還是這本書的來源The Geek Stuff,此書都暗示著其將以新穎獨(dú)特的角度為你介紹Linux腳本谤祖。
Linux發(fā)行版本書籍
CentOS System Administration Essentials
這本書較為系統(tǒng)的介紹了Centos系統(tǒng)的有關(guān)知識(shí)婿滓,包括了文件系統(tǒng),包管理系統(tǒng)粥喜,用戶系統(tǒng)凸主,安全中心以及一些常用應(yīng)用軟件介紹,對(duì)于使用Centos系統(tǒng)的人員還是有所幫助的额湘。
Ubuntu Manual
這本書來源于Ubuntu Manual網(wǎng)站卿吐,以不多的篇幅較為系統(tǒng)的介紹了Ubuntu系統(tǒng)的日常使用。
For Linux Mint: Just Tell Me Damnit!
這本書集中介紹了Linux Mint系統(tǒng)锋华,涉及了安裝嗡官,包管理,定制桌面等方面毯焕。
Solus Linux Manual
顧名思義衍腥,此書介紹Solus Linux系統(tǒng),篇幅較短芥丧。
The Debian Administration’s Handbook
這本書號(hào)稱Debian Linux系統(tǒng)的圣經(jīng)紧阔,涵蓋了Debian的歷史,安裝续担,包管理擅耽,虛擬機(jī),存儲(chǔ)等方面物遇,對(duì)于使用Debian系統(tǒng)的人員來說乖仇,此書必備。
Linux系統(tǒng)管理書籍
雖然此章節(jié)被獨(dú)立命名為Linux系統(tǒng)管理
询兴,但是乃沙,前面的章節(jié)其實(shí)都可以認(rèn)為在此范疇,只不過更加偏向于基礎(chǔ)诗舰。所以警儒,在這章節(jié)中都是側(cè)重于較為深入的系統(tǒng)管理有關(guān)知識(shí),最好是在前面章節(jié)的基礎(chǔ)之上再學(xué)習(xí)此章節(jié)眶根。
Linux System Administration
這本書也是出自于Paul Cobbaut之手蜀铲,覆蓋了網(wǎng)絡(luò),磁盤属百,用戶记劝,內(nèi)核,庫等管理族扰。
Advanced Linux System Administration
如果你覺得自己很懂Linux系統(tǒng)管理厌丑,也非常希望別人能夠知道你很懂定欧,那么你應(yīng)該去參加LPIC。而要參加該認(rèn)證怒竿,此書是必看的官方指定用書砍鸠。
Pro Linux System Administration, 2nd Edition
這是一本非常詳細(xì)的Linux系統(tǒng)管理的書籍,全書1000+頁的篇幅涵蓋了Linux系統(tǒng)管理的很多方面愧口,即適合初學(xué)者睦番,也可以作為有一定基礎(chǔ)的人系統(tǒng)學(xué)習(xí)的重要參考。同時(shí)耍属,該書的第二部分介紹了很多Linux系統(tǒng)管理的應(yīng)用托嚣,如NTP,DNS厚骗,郵件示启,文件共享,性能監(jiān)控等等领舰,非常值得一看夫嗓。
Linux Bible 9th Edition
不用講了,敢取這么牛逼的名字冲秽,而且書的評(píng)價(jià)還不錯(cuò)舍咖,必然是好書。此書將近1000頁的篇幅锉桑,從不同程度介紹了Linux系統(tǒng)排霉,比如如何入門,如何成為Linux的熟練用戶民轴,如果成為系統(tǒng)管理員攻柠,如何成為Linux安全維護(hù)人員等等,還是比較實(shí)至名歸的后裸。
Linux Servers
此書又來自于Paul Cobbaut瑰钮,從書名就能推測其范疇,主要側(cè)重講述如何打造你的Linux服務(wù)器微驶,包括web server浪谴,mysql數(shù)據(jù)庫,DHCP等因苹。
Linux Networking
Linux網(wǎng)絡(luò)對(duì)于系統(tǒng)管理員來說是最為重要的一塊之一较店,同樣出自于Paul Cobbaut
之手,較為系統(tǒng)的介紹了Linux網(wǎng)絡(luò)基礎(chǔ)知識(shí)容燕,網(wǎng)絡(luò)配置,同時(shí)著重介紹了常用的網(wǎng)絡(luò)服務(wù)等婚度。
Linux Storage
此書作者估計(jì)你都能猜到了蘸秘,不錯(cuò)官卡,又是Paul Cobbaut
。該書同樣較為系統(tǒng)的介紹了Linux的存儲(chǔ)系統(tǒng)醋虏,涉及文件管理寻咒,磁盤管理,數(shù)據(jù)庫等方面颈嚼。
Linux Security
作者就不介紹了毛秘,你懂的。很多時(shí)候?qū)τ贚inux系統(tǒng)都更側(cè)重于功能方面阻课,對(duì)于安全方面往往做的不夠叫挟。然而現(xiàn)在網(wǎng)絡(luò)安全正面臨越來越嚴(yán)峻的挑戰(zhàn),由網(wǎng)絡(luò)安全帶來的損失也是越來越大吞加,因此咪辱,對(duì)于Linux的安全管理已經(jīng)成為系統(tǒng)管理最為重要的一部分懊亡。此書同樣系統(tǒng)的介紹了Linux的安全管理有關(guān)方面,涉及用戶/組安全奋献,文件安全,iptables防火墻旺上,selinux安全等方面瓶蚂。
Linux基本開發(fā)書籍
最后,稍微推薦一下Linux開發(fā)有關(guān)的書籍宣吱。
Advanced Linux Programming
此書面向致力于Linux軟件開發(fā)人員窃这,介紹了Linux多進(jìn)程,多線程凌节,進(jìn)程間通信钦听,以及硬件接口等方面,對(duì)于從事有關(guān)開發(fā)工作還是很有幫助的倍奢。
書籍下載
本博文中所列書籍都可以在博主的CSDN個(gè)人下載空間找到朴上,資源名為Linux入門及系統(tǒng)管理推薦書籍
,由于大小限制卒煞,分為三個(gè)壓縮包痪宰,下載所有壓縮包到一臺(tái)Linux機(jī)器,解壓運(yùn)行命令:
cat linux-basic.tgz.* | tar xz
其中有一個(gè)文件整理的時(shí)候出錯(cuò)了畔裕,文件名為Ubuntu-Manual.pdf
衣撬,其實(shí)是Solus
的電子書。你可以從Ubuntu Manual官網(wǎng)直接下載扮饶。
資源需要一定的資源分下載具练,本來想免費(fèi),但是博主個(gè)人覺得還是不錯(cuò)的資源甜无,也廢了自己不少時(shí)間整理扛点,鑒于免費(fèi)容易輕視哥遮,所以面向真要打算認(rèn)真學(xué)習(xí)的人,收取一定的資源分陵究。如果沒有足夠的資源分也沒關(guān)系眠饮,你完全可以根據(jù)本文所列書名Google之,都是有免費(fèi)電子版的铜邮。實(shí)在不愿自己搜羅的仪召,也可以在評(píng)論區(qū)留下你的郵箱,博主會(huì)不定時(shí)發(fā)給你郵箱松蒜,壓縮包總共將近140M扔茅,還請(qǐng)確保你的郵箱能夠接收如此大的附件。
結(jié)語
Linux博大精深牍鞠,很多人即便從事一輩子Linux開發(fā)也未必能夠熟悉Linux的各個(gè)方面咖摹。為了能夠支撐自己在Linux的路上走的足夠遠(yuǎn),一個(gè)牢固的基礎(chǔ)是必須得有的难述,本文側(cè)重推薦Linux系統(tǒng)管理的有關(guān)書籍萤晴,希望讀者能夠?qū)inux的宏觀整體有個(gè)非常透徹的理解,為以后選擇某個(gè)方向深入研究鋪好路胁后。同時(shí)店读,也歡迎各位的其它推薦,歡迎在評(píng)論區(qū)留言攀芯,有合適的書籍屯断,博主也會(huì)不定時(shí)更新在博文之中。
本文也可以查看博主的個(gè)人博客中查看侣诺,后續(xù)的更新將在個(gè)人博客中殖演。