---
title: 我的Linux学习历程：那些我看过的Linux书籍们
slug: this-is-the-linux
date: 2014-08-09 13:24:49
updated: 2020-09-06 13:26:51
tags:
  - 图灵
  - Linux
category: 编程
cover: /images/2024/04/2024041520520400.jpg
summary: 来北京工作已经一个多月，大都市的生活比起读大学要忙碌得多，尤其是出行，基本以小时为计时单位。有时茫然看着窗外车水马龙，会有些迷茫自己选择的是对还是错。
---

![Linux Books](/images/2024/04/2024041520534000.jpg)

来北京工作已经一个多月，大都市的生活比起读大学要忙碌得多，尤其是出行，基本以小时为计时单位。有时茫然看着窗外车水马龙，会有些迷茫自己选择的是对还是错。

题外话不多说，回归这次的主题，扒一扒我看过的那些Linux相关的书籍。

对于Linux的了解和接触，缘起自大一时候的Linux限选课，老师说这门课可选可不选，但是选修后考试挂了的话需要补考。当时的我还比较爱学习，于是兴冲冲地选修了这门课，用的是清华大学出版社出版的《Ubuntu Linux应用技术教程》。这本书写的并不是很好，里面对于图形界面的叫法还是最原始的XWindows，此书一大半都是基于图形界面说什么安装啊、应用软件使用啊、7788的。但也简单讲了`bash`的使用和常见的命令，比如`ls -all`然后用管道`|`将输入导入至`wc -l`来计算文件数，还有一些简单的vi编辑器的使用，Shell脚本的写法。

当时因为才开始学的原因，什么都不懂，渐渐地，也就失去兴趣没怎么好好学。课程对应的实验都是和老师卖萌才过的，考试的时候也就是背了一下往年的考题，考完就忘得一干二净。现在想起来，还有点小后悔。

本以为噩梦就此结束，我与Linux应该是老死不相往来，作为一名从小学四年级就开始学习使用Windows的用户，我真的很难适应和使用Linux。可是大二学习操作系统原理的时候再一次无奈了，我们的一切实验的环境都是在Linux下面，使用那些基本`fork()` `pipe()` 等Linux下面的C函数进行操作系统的实验。当时在极其痛苦的情况下重拾课本，花了整整一周时间去学习使用Shell，学习简单的C语言（**妈的，看的是谭浩强的书**），会用vi来编辑，会手动写Makefile使用gcc编译。

这期间通过学长的介绍知道鸟哥这位Linux大牛，开始阅读他的《鸟哥的Linux私房菜》。很遗憾的是，鸟哥的教程是基于CentOS来介绍的，看完开头极其冗余复杂的安装部分，我就“阵亡了”。“妈妈啊，快来救我，Linux怎么这么复杂，什么Ubuntu、什么CentOS，还完全不怎么一样。”

真正意义上接触并使用Linux，严格意义上说还得感谢“笨兔兔”这位Linux大牛。当时 Ubuntu 12.04 正好才出，本着不装逼就不会死的精神，我安装了这个系统，准备弄个双系统来装装逼。在研究如何配置 Ubuntu 12.04 的时候正好搜到了笨兔兔在他的博客发表的配置博文，当时也就是按照教程一行一行地复制粘贴命令。稍微知道如何使用 PPA 来安装 Ubuntu Tweak （一个国人写的对Ubuntu进行简单定制和优化的软件，你可以理解为Win里面的360）。这期间阅读他的博客，接触到深度的Linux发行版Deepin Linux。

什么？专门为国人打造的便于国人使用的Linux？不错，装！

在我安装使用后立刻就被它的界面所吸引，坦白说 LinuxDeepin 12.04 真的很优秀，它基于Ubuntu 12.04 的基础上，去掉了那个真的超级丑超级难用的Unity，美化了各种常见的组件。直到现在，我家里上大学前的台式机还装的是此系统。

当时逛Deepin社区的时候，看到懒蜗牛Gentoo的《Linux入门很简单》出版了，看完电子版前2章后我就被此书深深地吸引了。真的，它一点都不枯燥，语言十分浅显风趣，内容也简单使用。实体版到货后我立刻通宵2天把它看完，虽然最后部分的程序编译有点云里雾里，但是基本的日常使用已经无碍。

这个时候Linux已经基本被我用于日常的装逼，每当我在自习室前排用着Linux上网，常常会以一种看土鳖的眼神看着那些 Mac 上装 Windows 的同学，心里暗自发笑。

故事本该到了这里就结束，反正Deepin日常使用已经无碍，还有什么好学的。可命运就是这么神奇，它往往会在你最得意的时候给你浇盆冷水，让你“压压惊”。

那时已经到了13年，我开始迷恋上写博客，在学校组团参加CCF大会的时候接触到阿里云，和阿里云的销售一聊天，他大手一挥给了我一张半年的代金券，此券也开启了我新的Linux学习之路。

下单安装ECS系统，果断Linux，选择系统的时候果断装逼，Ubuntu和Deepin一样，咱不屑于使用，咱要用CentOS。等云主机资源分配好可以运行时，我就傻眼了。纳呢，没有图形界面！只有一个简陋的Shell界面！这不是坑爹么！

没有熟悉的 apt-get，没有了熟悉的软件包名，我不得不重拾大一的课本继续蛋疼地看那些常见命令，yum 的使用也让我蛋碎一地。等我使用 yum 搭建好 LAMP 环境嘚瑟地在一个主机交流群里面炫耀时，某位大神（**这里他要求不透露姓名**）很是鄙视地说：现在流行LNMP，流行编译源代码。

得，你丫瞧不起我是吧，我也给你整出来……

这期间学会了很多，参考了各种官方文档、手册、教程，一点点学会如何`wget`源码包，如何解包。看着`./configure --help`后面的一大串长到吐的参数一点点配置，看着`make`时候屏幕上滚动的各种debug信息暗自发呆。有时候为了解决一个简单的缺少依赖的问题Google一整个下午。即使是最后的编译完后，`make install`之后的配置也让我头疼万分，Nginx与FastCGI的交互，php-fpm的配置，MySQL的优化等等……

很庆幸有这么一段黑暗的学习经历，因为真正的动手学习配置才对 Linux 有了深入的了解。当然，用前女友云儿的话说：装逼是要付出代价的。因为对 Linux 本身产生了极大的兴趣，这期间也读了很多设计的书籍，比如那本《Linux/Unix设计思想》。我至今依旧记得那个经典的小即是美的设计理念，没有代码层面的讲述，全书薄薄的一册介绍了各种Linux相关的编程理念，十分经典。

还有就是那本《Linux内核设计与实现》，当时因为上选修课需要用到此书，在老师的讲授下结合以前学过的操作系统知识，真的能学到很多东西。比如，如何时间调度，如何实现排序，如何中断……

2013年年底买了Kindle，又一次开始了我的新的Linux学习之路，当时国行还没上市。因为学生党，兜里银子少，就买了日货。可是问题由此而来，日版没有中文界面。在研究时发现Kindle官网部分开源了Kindle的源码，于是我便萌发了自己编译Kindle内核来装逼的想法。从基础的交叉编译工具链的搭建，到内核源码的定制配置，BusyBox的编译，UBoot的定制，还有Eink驱动的移植……

因为涉及的东西很多很杂，在别人的指导下先看完了LFS手册，本着不装逼就不会死的原则先行尝试编译LFS，然后慢慢上手嵌入式系统的编译。因为基础比较薄弱的问题（连Shell脚本都不会写），又买了一本《Unix&Linux大学教程》读完。

说了这么多废话，该讲讲今天参加图灵活动赠送的书籍 **《Linux就是这个范儿》**。如果不是图灵市场部的英子姐姐在读者交流群里面公布了这个新书发布会，很有可能我就这的与这本好书擦肩而过。这本书是由阿里巴巴的两位大牛 **赵鑫磊** 和 **张洁** 写的，赵老师一直在淘宝大学里面做Linux的培训，此书的前身就是他的上课讲义。

书的内容真的很全很全，但很遗憾的是它不够细，可能是限于篇幅的原因，很多都只是简单介绍，一带而过。但是书籍的编写语言却十分风趣幽默，初看此书的第一眼，就有一种在看《Linux入门很简单的感觉》，十分亲切。

整个图书发布会上，张洁老师的精彩演讲，赵老师的健谈和广泛的知识面都让人印象十分深刻。很多问题，从他们的口中都能得到很好地解答。我曾经一个glibc的依赖问题将整个系统yum仓库弄坏，和赵老师交流时竟然发现他也有相似的经历，当然结果是无解。（╮(╯▽╰)╭）

还记得赵老师在《Linux就是这个范儿》一书开头的那个“黄色冷笑话”，简单回顾一下我这短暂的2年Linux学习历程。其实很容易发现，学习，就像爬山一样，没有平坦的大道，需要努力地去攀登，即使途中某段是平面，那是因为后面还有更加陡峭的阶梯等待着你去攀登。

学无止境！
