为学Linux,我看了这些书

去年开始,抱着学习的态度开始了我的Linux学习,到现在,差不多一年了,收获很多,不敢说精通Linux,但是,还是对得起“略懂”这两个字的。这一年里我看了很多书,细细数下,大概15本左右,其中包含了两个方面,一个是Android,另一个就是Linux。当然,在学习之初,遇到了不少瓶颈,在这里,还要感谢师兄师姐的指导。写这篇文章的目的有两个:

1.分享自己的学习经验

2.记录下我的学习历程

既然谈到了学习,那一定需要从看书说起,下面我就罗列下我看过的关于Linux学习的书


1.《鸟哥的Linux私房菜-基础学习篇》



      首先声明,我用的Linux系统是Ubuntu11.10;大学时没接触过Linux系统,所以不知道怎么开始学习是好,请教吧,师兄告诉我看这本书,现在回想起来,他的建议不错,这本书很适合初学Linux系统的人。

      我们大概都知道,或许是听说过,Linux系统经典的地方是它的命令行操作方式,这本书的主要内容就是介绍Linux系统下的命令,教你怎么使用这个系统,并简单的管理这个系统,这本书我记得后面几章的内容是关于系统运维的,由于对这方面的管理,我还暂时不需要,所以最后几章的内容并没有涉猎。


2.《Linux Shell 脚本攻略》



      这本书虽然放在第二的位置,但是确实是最近才看完的,读这本书的缘由是项目的需要,不过,现在,对这本书我又有了新的想法。

      Linux的思想是“一切皆文件”,所以,对于文件的处理是Linux最基本的功能,那么使用什么处理文件呢?使用什么效率高呢? 答案是:Shell脚本。所谓Shell脚本其实就是Linux命令的集合。这本书正是讲解这种语言的,但是内容不是很简单,需要知道一些简单的命令和参数是做什么的,所以,读这本书之前最好还是看看第一本书吧。

      我们大概都已经知道,Linux对网络的支持也是非常好的,它在内核中接入网络,所以我们需要知道和运用一些Linux系统提供给我们的命令实现网络的测试,运行状况查看等操作,这本书又派上用场了,我记得这本书有一章的内容叫做“无网不利”,听,这是对Linux系统多么贴切的描述。


3.《Unix环境高级编程》



      相信知道这本书的人很多,这是讲解Unix编程的经典书籍,由于Linux属于类Unix系统,所以,学习Linux编程,这本书不可以少。

      这本书的开篇首先讲的是对文本文件的操作,对了,就是那几个我们常常看见的函数--open,read,write,seek,close,这里,是不是又对应了“一切皆文件”这个说法。当然,这本书介绍的内容很多,其中有很多非常好的章节,比如:Linux进程间通信,Socket编程,Linux管道等等,这里,我就不详细说了,想学习的朋友自己去看看这本书吧。


4.《Linux系统编程》



      首先说,这本书不是很好找,是一本比较老的书,但是内容却是非常好,也是学习Linux编程不可多得的一本好书。

      从这本书的名字就能看出来,这本书所讲的内容是“系统编程”,所以,这里涉及的内容是系统调用,是我们的用户进程需要内核的帮助完成我们想要实现的功能,这本书我也是从头看到尾,由于书并不是很厚,所以没有花太久的时间,不过,需要理解的地方很多,有些地方比较难,所以,多看几遍这本书肯定没错。


5.《Linux内核设计的艺术》



      这里,我首先引用这本书封面上的一句话--“本书对操作系统内核的驾驭能力和深刻理解程度达到世界顶尖级水平,是一本能真正引导你深入理解Linux内核设计思想的经典著作。”

      在学习Linux之初,我们可能会“百度一下”--怎么学习Linux?网上好多人会回答你--看源代码。如果这时你真的照着做了,那么,你可能走上了一条学习Linux的不归路。为什么呢?因为,Linux有好多个版本,我们看哪个版本?源代码都在几百万行左右,怎么去看?所以,这是不切实际的。那么,为什么会有那么多的网友这样说呢?下面我来分析下。

      这本书到现在我看完了两遍,当然,还是有很多地方理解的不够透彻,不过,还是有一些自己的想法的。这本书选择的版本是Linux0.11,书中配合插图和文字去分析源代码,起初,我只是看书上的“内容”,并没有分析源代码,不过,渐渐地,我发现一个问题,合上书之后,马上就忘了我看了些什么。开始,我觉得这是对系统的不理解,对系统不熟。就这样,带着这些疑问,看完了第一遍。大概两个星期之后我开始了第二遍的阅读,这一次,我配合源代码去阅读这本书,再合上书之后,我非常欣慰,我记得那些东西是什么,现在,我才明白为什么。你想理解这个东西,想记得牢,就去分析源代码吧。

      现在,可以回答那个问题了。其实,大家所说的阅读源代码并不是让你从头看源代码,我们应该做的是,想知道哪一部分是做什么的,是怎么实现的,为什么会是这样,我们需要做的就是把这一部分的源代码找出来,阅读,分析。


6.《Linux内核设计与实现》



这本书所讲的内容也是分析Linux内核的,内容比较深,博主现在对这本书的理解也是比较浅显,so,还需努力。

    这本书中前面几章的内容很像我们的《操作系统》教科书,不过,内容要深入的多,我记得这本书对进程调度算法的讲解非常好,非常深入,以至于第一遍阅读时我没有看懂,映像比较深的还有就是进程间的协调工作,就是IPC机制的实现,这里 ,我们知道通信的媒介是管道,可是,管道是什么?它是一种文件,没错,但是它是用什么实现的?这本书中也有非常细致的讲解。所以,要想更深入的理解Linux系统,这本书还是阅读下吧。


    这篇文章写了好长时间了,不过,并没有完全写下我的学习历程,因为,还有很长的路要走。。。

  • 43
    点赞
  • 129
    收藏
    觉得还不错? 一键收藏
  • 127
    评论
12本精彩的Linux籍 1. Sed and Awk,作者Dale Dougherty and Arnold Robbins。这本改变了我在Linux命令行下的工作方式。这本可能是你学习Sed和Awk时唯一需要的参考资料。一旦你掌握了Sed和Awk的基础,你就会着迷于能够快速并且高效的完成一系列复杂工作。我平常用于sed 和awk的参考的是由相同作者所著的《Sed and Awk Pocket Reference》。 2. HULearning The Vi and Vim EditorUH,作者Arnold Robbins。 我对于命令行下的操作情有独钟。因此,自然地我非常喜欢Vi 和 Vim 进行文本编辑。回首数年之前,当我需要在Linux下写大量的C程序的代码时,我总会参考Vi文本编辑器的快速参考手册。即使你已经用了很长时间的Vi和vim编辑器,如果你没有读过这本的话,那么请你读一下这本。你会惊讶于Vim编辑器的强大功能。 3. HUBash CookbookU ,作者Carl Albing, JP Vossen and Cameron Newham。无论你是系统管理员还是数据库管理员,或者是个开发人员,你都会或多或少的写些shell脚本。聪明的系统管理员都知道掌握了shell脚本编程之后,可以让shell脚本作一些微小繁杂的工作,从而使你的服务器处于自动运行状态。要达到这种境界,你就需要掌握本中所举出的例子。市面上这方面的籍相当的多,但这本以丰富细致的实例而完全超越它们。 4. HUSSH,The Secure Shell U,作者Daniel J. Barrett, Richard E. Silverman and Robert G。Byrnes。这无疑是关于SSH方面最好的了。这本介绍了SSH的理论和实践的各个方面。作为最终用户使用SSH是相当方便的。但是作为一个管理员配置SSH相对来讲比较复杂,同时要对SSH有更深的理解。对于每个系统管理员,这本都是必读籍。这本中的例子直接给出了该如何根据需求(SHH1,SHH2和OpenSSH)来量身定制SSH的不同口味。 5. HUEssential System AdministratorUH,作者Æleen Frisch。对于想成为UNIX系统管理员的人来说 这是一本相当棒的。这本囊括了所有的系统管理工作。很好得整合了AIX,FreeBSD, HP-UX,Linux,Solaris 和Tru64等多种UNIX版本。所有当你在处理不同版本的UNIX时,它是个不错的参考。以前当我同时管理多种UNIX系统时候就用了这本的便携版----Essential System Administration Pocket Reference。 6. HULinux Server HacksUH,卷一,作者Rob Flickenger。这本中收藏了100相当不错的技巧。搭建一个Linux实验平台并且一一测试这些技巧。这些技巧被分成了不同的章节—服务器基础、版本控制、备份、网络、监控、SSH、脚本和数据服务器。当你完全读懂Linux Server Hacks,就可以掌握了这些技巧;卷二,作者Willian von Hagen 和 Brian Jones。这本也包含了100个技巧,集中在认证,监控,安全,性能和连通性。 7. HUDNS and BINDUHU,作者Cricket Liu 和 Paul Albitz。几年前我通过阅读在线文档第一次配置了DNS. 本着了解DNS 和 BIND 是如何工作的目的,我买了这本。之后它的版本又更新了两次,每次我都购买了新版本。如果你是个认真的系统管理员,这本应该在你的库里。 8. HUUnderstanding the Linux KernelUH,作者Daniel Bovet 和 Marco Cesati。如果你是一个Linux环境下的开发人员或者系统管理员,那么这本是必读的。这本以一种结构化且符合逻辑的方式阐述了Linux 2.6内核的工作原理。这本介绍了内核的内存管理,进程调度, I/O架构以及块设备管理等内容。这本是为那些想深入了解Linux的Geek们而量身打造的。 9. HULinux CookbookUH,作者Carla Schroder。这本分别以用户和管理员的角度阐释Linux的各种特性。其中两个章节介绍了如何在基于RPM的系统以及Debian下安装和管理软件。如果你使用的是RedHat,由Daniel J. Barrett所写,包括了Linux命令的所有示例用法的《the Linux Pocker Guide》对你来说将会是个不错的选择。 10.HULinux FirewallsUH,作者Michael Rash。如果想要建立一个安全的Linux系统,那么这本是必读的。关于防火墙有很多相关籍。但是这本详述了如何用防火墙,psad, fwsnort配置一个入侵检测系统。如果你想要一本有关防火墙的详细参考,那么由Gregory N. Purdy 所著的《Linux Iptables Pocket Reference》将是你的最佳选择。 11.HULinux Administration HandbookUH,作者Evi Nemeth, Garth Snydet 和 Trent R. Hein。早年,在我做系统程序员的时候,我经常参考这本。这是一本相当非常详细的,分成了三章Basic Administration, Networking 和 Bunch O’Stuff, 共有将近1000页,30节。 12.HUBeginning Ubuntu LinuxUH,作者Keir Thomas 和 Jaime Sicam。对于那些想从Windows转向Linux并在自己的老机器上安装Ubuntu的人,这本就是你所需要的。我坚信这本可以将Linux的信息介绍给那些不用Linux的人。如果你想要你的密友或朋友学习Linux系统的话,那么装上Ubuntu并用把这本作为礼物送给他,那么他一定会非常感激你的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 127
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值