为学Linux,我看了这些书

原文出处: BruceZhang

去 年开始,抱着学习的态度开始了我的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系统,这本书还是阅读下吧。

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

原文发布于微信公众号 - php(phpdaily)

原文发表时间:2015-10-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏魏艾斯博客www.vpsss.net

腾讯云服务器秒杀 2核4G内存/2M带宽/50G云盘 1702元/3年

从上周开始的腾讯云服务器秒杀活动今天继续,刚刚有看到三款配置类型,其中最具有性价比的是2核4G内存/2M带宽/50G云盘,2折,广州区机房,1702元/3年(省...

7713
来自专栏知晓程序

想要留住小程序用户?这个方法你一定能用上 | 小程序问答 #48

但是这个能力限制多多:除了需要小程序开通微信支付、只有支付后才能推荐关注外,关注的公众号还必须是服务号才行。

1054
来自专栏我就是马云飞

该如何接手别人遗留下的代码?

在我们开始之前,你应该先了解一些事项。首先,请阅读这篇 Joel Spolsky 的著名文章,了解为什么永远不应该重写代码(https://www.joelon...

993
来自专栏WeTest质量开放平台团队的专栏

日活上百万时,腾讯产品如何提前规避服务器宕机风险?

众所周知,优异的应用性能是良好用户体验的坚实基础,而服务器响应缓慢、卡顿、崩溃的产品,即便设计再精美也无法留住用户的心。

1422
来自专栏非著名程序员

是的,我又开发了一款产品,堪称效率神器

? 是的,最近我玩上了微信小程序,感觉开发这个还是蛮有意思的,所以,我又开发了一款小程序,邀请大家一起来看看,顺便欣赏一下。还请大家提提意见。 是的,继「活动...

3615
来自专栏张善友的专栏

MongoDB 如何使定制电子商务变得简单

开源电子商务软件市场已经历了众多发展阶段,您可能已经通过 osCommerce、Magento、Zen Cart、PrestaShop、Spree 等流行平台而...

2087
来自专栏IT大咖说

经历了研发困局、运维之痛,同程微服务从1到1w的旅程

内容来源:2017 年 9 月 9 日,前同程艺龙架构师谢康在“ArchData技术大会上海站”进行《同程微服务从1到1w的旅程》演讲分享。IT 大咖说(微信i...

1413
来自专栏织云平台团队的专栏

腾讯 SNG 监控数据的创新应用

本文将向大家分享SNG监控十年来变革背后的驱动因素和立体化的监控方案,最后给大家展示最新的智能监控的应用场景。

6.5K5
来自专栏娱乐心理测试

关于iOS实现前台,后台,锁屏或关闭app语音播报

7374
来自专栏WeTest质量开放平台团队的专栏

测试的名义

最近有部神剧《人民的名义》,讲述了当代检察官侯亮平维护公平正义和法制统一,以身涉险,与贪腐分子展开斗智斗勇的抉择,实乃当下中国复杂政治生态的一股清流。

882

扫码关注云+社区