- 第一个坡:抛弃旧的思维习惯,熟练使用 Linux 命令行
- 从 Windows 阵营来到 Linux 阵营,以前都是图像界面的操作,现在面对一个黑窗口无从下手,对初学者来说是一件很头痛的事情,所以学习 Linux 系统要爬过的第一个坡就是熟练使用 Linux 命令行。推荐的书籍是《鸟哥的 Linux 私房菜》和《Linux 系统管理技术手册》。
- 这里我个人也推荐一本,主要区别是刘超老师推荐的是书籍主要针对 centos 系列的 Linux 操作系统,我推荐的这本是针对 debian 系的操作系统,它就是《The Linux Command Line》,我这里有英文版的电子书,有需要的可以联系我获取,大家也可以在网上找找中文版的。
- 第二个坡:通过系统调用或者 glibc,学会自己进行程序设计
- 这个坡主要是学会自己使用 Linux 系统调用或者使用 glibc 库设计自己的程序,在第一个坡中使用的命令其实就是各种各样的程序。在爬这个坡的时候很多人就会感觉到难度了,因为你不止要学习 Linux 系统相关的知识,你还需要学习 c、c++ 两种开发语言。刘超老师推荐的书籍是《UNIX 环境高级编程》。
- 这里我想补充一点,对于想把 Linux 系统学好的朋友,c、c++ 两种语言是必须要掌握的,可见学习 Linux 系统其实还是挺难的,因为光学习 c 语言就已经让很多朋友头痛了。但是请你不要惊慌,其实学习 Linux 系统和学习 c 语言是相辅相成的,不要单纯的去学习 c 语言,也不要单纯的去学习 Linux 操作系统,要两者结合,你会发现其中无尽的乐趣的。
- 第三个坡:了解 Linux 内核机制,反复研习重点突破
- 有没有发现一个破比一个破高,如果没有发现,那说明你已经掌握了不少 Linux 系统的知识了,但也有可能你什么都不会。在这个爬这个坡的过程中,我们需要学会 Linux 系统调用背后到底做了什么,就像一个做包子的师傅,把包子做得很好吃了的时候,他就想去了解做包子的原料是怎么样的,而我们学习 Linux 系统,当我们学会如何使用命令行,如何自己通过系统调用写自己的程序的时候,我们就会想着去研究 Linux 系统调用背后的知识。在这个破中,刘超老师推荐的书籍是《深入理解 Linux 内核》,这本书我自己是看过的,写得非常好,我也非常推荐。
- 第四坡:阅读 Linux 内核代码,聚焦核心逻辑和场景
- 在第三个破中,我们已经了解到 Linux 内核的理论知识,但是在了解内核机制的时候一定还会遇到困惑,这个时候就需要去内核的源码里面一探究竟了。这里刘超老师推荐的书籍是《Linux 内核源代码情景分析》。
- 第五坡:实验定制化 Linux 组件,已经没人能阻挡你成为内核开发工程师了
- 光看 Linux 内核源码的实现还是不够的,比如说驱动工程师,他们就需要自己开发驱动程序,而驱动程序就是 Linux 内核的一部分,所以在爬这一个坡的时候,我们需要参考内核中已有的实现,实现自己的内核模块。
- 最后一坡:面向真实场景的开发,实践没有终点
- 学习是永无止境的,我们需要大量的实践和练习才能提炼出知识的精华,在这个坡才算是你的起点,到大牛的起点,但这其中要花多长时间,需要积累多少的经验,全看个人了,与其说要多久才能成为大牛,不如说自己一直在大牛的路上摸爬滚打着。
|