怎样学习Linux
在现今的生活,生产ubuntu linux,研究等领域,Linux早已无所不在,从我们使用的手机,车载设备,到服务器,桌面笔记本等,Linux已然成为这个世界方方面面的基石。尤其对于参与技术有关工作的你学习Linux是必须的,这么,该怎样有效的学习呢?Linux从诞生至今,早已是一个极其庞大且复杂的系统,右图是Linux系统代码行数的统计(参考linuxcounter):
可见截至本文为止,Linux的代码行数迫近2千万行,你就每晚看1万行也得要6,7年,毕竟这还只是Linux内核的代码量,再加上每位Linux发行版本有关的代码,恐怕得突破天际了。为此,要在短期内全面的学习Linux的方方面面对于一个正常的人来说几乎不太可能。所以,学习Linux的关键便在于对于学习Linux的目的一定要明晰,一般来讲可能会涉及到一下方面:
其实,这只是其中几个大的方面,虽然这么,其中每位方面都是一个十分大的议程。例如说学习Linux内核开发,这个就包括了无数小的方面,内核本身就包括了十分多的细分方向,例如有的搞网路,有的搞文件系统,有的搞驱动开发等等。所以,对于Linux,还请千万谨慎的评价自己是否真的精通linux site:infoq.cn,学无止境linux开发书籍,真要精通Linux的主要方面,有可能须要用尽你的个人生涯。
其实,对于学习Linux,前人早已铺好了无数的基石,有无数可以参考学习的资料,但是内核也是开源的,必要的时侯可以查看其代码,甚至早已有特别多帮你剖析内核代码的书籍资料,甚至还有好多英文资料。所以,不论你准备要学习到怎样的程度,早已有无数的资料可以参考,也有极为庞大的社区可以借助。本文凑合Linux学习推荐一些精典免费的书籍,主要注重覆盖从入门到成为系统管理员的有关方面,学习对象为初学Linux,以及须要重新系统学习Linux的读者,将囊括以下方面:
为何须要重点学习系统管理方面呢?有的Linux开发人员可能会说,不是有专门的Linux系统管理员吗,有必要花大力气学习系统管理吗?这个博主表示是十分有必要,开发可能偏重于功能的实现,并且常常着重于细节,但是系统管理则直接面向功能本身,更多的是从整个系统的宏观角度来熟悉Linux。俺们有句话说不识庐山真面目,只缘身在此山中便是这个道理,开发者对于细节似乎极为了解,而且未必对整个系统功能有足够的熟悉。而假如对于宏观的系统整体有足够的理解,对于开发本身来说也是有很大的推动作用的。
书籍推荐入门基础书籍IntroductiontoLinux
这是一本免费的书,来自于Linux文档项目。尽管免费,并且不影响它的流行程度,该书比较系统的介绍了Linux的一些基本概念,包括文件系统,命令行,网路等。并且鉴于Linux如今也是版本帝,有些内容可能跟不上最新的版本,然而,这完全不影响对于基本概念的理解。
LinuxFundamentals
从这本书的书名就可以看出,作者PaulCobbaut就是着重于介绍Linux最基础的有关知识。涉及到Linux的历史,怎么安装以及一些简单而且常用的命令。
Linux命令行及工具书籍GNU/LinuxCommand−LineToolsSummary
这本书同样来自于Linux文档项目。易于初学Linux命令行的读者。
BashReferenceManualfromGNU
此书来自于GNU,注重介绍Linux命令行。
TheLinuxCommandLine
假如你把上面的几本基本的命令行的书籍啃完,并急切希望还能进一步深入了解命令行,这么这本出自WilliamShotts的书是必须一读的,此书500多页的篇幅,极为详细的介绍了Linux命令行,恐怕你自认比较熟悉命令行,相信此书还是才能带个你新的见识。
LinuxBash脚本书籍BashBeginnersGuide
顾名思义,此书就是为初学者打算的,同样来自于Linux文档项目。
AdvancedBash-ScriptingGuide
假如你对LinuxBash脚本有了基本的认识,这么这本书将是你进阶的必备书籍。此书900多页的篇幅涉及Bash脚本的方方面面,不论对于准备进阶或则早已较为熟悉的人来说都是一本重要的参考书籍。
TheAWKProgrammingLanguage
AWK命令是一个极为强悍的Linux命令,同时提供特别强悍的脚本支持。也正是由于强悍,所以就有专门的书籍来介绍这个命令,假如你要把自己的Linux命令再提高一点的话,建议看下这本书来深入的学习该命令。
Linux101Hacks
不论从这本书的书名,还是这本书的来源TheGeekStuff,此书都暗示着其将以新颖别致的角度为你介绍Linux脚本。
Linux发行版本书籍CentOSSystemAdministrationEssentials
这本书较为系统的介绍了Centos系统的有关知识,包括了文件系统,包管理系统,用户系统,安全中心以及一些常用应用软件介绍,对于使用Centos系统的人员还是有所帮助的。
UbuntuManual
这本书来始于UbuntuManual网站,以不多的篇幅较为系统的介绍了Ubuntu系统的日常使用。
ForLinuxMint:JustTellMeDamnit!
这本书集中介绍了LinuxMint系统,涉及了安装,包管理,订制桌面等方面。
SolusLinuxManual
顾名思义,此书介绍SolusLinux系统,篇幅较短。
TheDebianAdministration’sHandbook
这本书堪称DebianLinux系统的新约,囊括了Debian的历史,安装,包管理,虚拟机,储存等方面,对于使用Debian系统的人员来说,此书必备。
Linux系统管理书籍
其实此章节被独立身名为Linux系统管理,然而,后面的章节似乎都可以觉得在此范畴,只不过愈发偏向于基础。所以,在这章节中都是偏重于较为深入的系统管理有关知识,最好是在后面章节的基础之上再学习此章节。
LinuxSystemAdministration
这本书也是出自于PaulCobbaut之手,覆盖了网路,c盘,用户,内核,库等管理。
AdvancedLinuxSystemAdministration
假如你认为自己很懂Linux系统管理,也十分希望他人才能晓得你很懂,这么你应当去出席LPIC。而要出席该认证,此书是必读的官方指定用书。
ProLinuxSystemAdministration,2ndEdition
这是一本特别详尽的Linux系统管理的书籍,全书1000+页的篇幅囊括了Linux系统管理的好多方面,即适宜初学者,也可以作为有一定基础的人系统学习的重要参考。同时,该书的第二部份介绍了好多Linux系统管理的应用,如NTP,DNS,短信linux开发书籍,文件共享,性能监控等等,特别值得一看。
LinuxBible9thEdition
不用讲了,敢取如此牛逼的名子,但是书的评价还不错,必然是好书。此书将近1000页的篇幅,从不同程度介绍了Linux系统,例如怎样入门,怎样成为Linux的熟练用户,假如成为系统管理员,怎么成为Linux安全维护人员等等,还是比较实至名归的。
LinuxServers
此书又来自于PaulCobbaut,从书名能够猜测其范畴,主要注重述说怎样构筑你的Linux服务器,包括webserver,mysql数据库,DHCP等。
LinuxNetworking
Linux网路对于系统管理员来说是最为重要的一块之一,同样出自于PaulCobbaut之手,较为系统的介绍了Linux网路基础知识,网路配置,同时注重介绍了常用的网路服务等。
LinuxStorage
此书作者恐怕你都能猜到了,不错,又是PaulCobbaut。该书同样较为系统的介绍了Linux的储存系统,涉及文件管理,c盘管理,数据库等方面。
LinuxSecurity
作者就不介绍了,你懂的。好多时侯对于Linux系统都更注重于功能方面,对于安全方面常常做的不够。但是现今网路安全正面临越来越严峻的挑战,由网路安全带来的损失也是越来越大,因而,对于Linux的安全管理已然成为系统管理最为重要的一部份。此书同样系统的介绍了Linux的安全管理有关方面,涉及用户/组安全,文件安全,iptables防火墙,selinux安全等方面。
Linux基本开发书籍
最后,稍稍推荐一下Linux开发有关的书籍。
AdvancedLinuxProgramming
此书面向旨在于Linux软件开发人员,介绍了Linux多进程,多线程,进程间通讯,以及硬件插口等方面,对于从事有关开发工作还是很有帮助的。
书籍下载
本博文中所列书籍都可以在博主的CSDN个人下载空间找到,资源名为Linux入门及系统管理推荐书籍,因为大小限制,分为三个压缩包,下载所有压缩包到一台Linux机器,解压运行命令:
cat linux-basic.tgz.* | tar xz
其中有一个文件整理的时侯出错了,文件名为Ubuntu-Manual.pdf,虽然是Solus的电子书。你可以从UbuntuManual官网直接下载。
资源须要一定的资源分下载,原本想免费,而且博主个人认为还是不错的资源,也废了自己不少时间整理,鉴于免费容易惧怕,所以面向真要准备认真学习的人,缴纳一定的资源分。若果没有足够的资源分也没关系,你完全可以按照本文所列书名Google之,都是有免费电子版的。实在不愿自己搜罗的,也可以在评论区留下你的邮箱,博主会不定时发给你邮箱,压缩包总共将近140M,还请确保你的邮箱才能接收这么大的附件。
结语
Linux博大精深,好多人虽然从事一辈子Linux开发也未必才能熟悉Linux的各个方面。为了才能支撑自己在Linux的路上走的足够远,一个牢靠的基础是必须得有的,本文注重推荐Linux系统管理的有关书籍,希望读者才能对Linux的宏观整体有个特别透彻的理解,为之后选择某个方向深入研究铺好路。同时,也欢迎诸位的其它推荐,欢迎在评论区留言,有合适的书籍,博主也会不定时更新在博文之中。
参考