如何高效的学习 Linux

记得当初刚找工作时,面试官问了我很多操作系统方面的知识:你了解操作系统原理吗?Linux 环境会部署吗?底层是怎么实现的?都会哪些 Linux 命令?一系列问题把我问得一脸懵逼。

幸好大学学过操作系统,顺利过关入职了。当时还纳闷,我做开发,掌握语言不就好了,为什么还要掌握操作系统。

入职工作后我恍然大悟:弄懂了操作系统解决问题的思路,遇到问题就不至于两眼一抹黑。

在我看来,每一个程序员都应该深入研究操作系统的原理。为什么这么说呢?

1. 打开 Linux 操作系统这扇门,你才是合格的软件工程师。根据 2018 年W3Techs 数据统计,服务器端,Unix-Like OS 占的比例近 70%,其中 Linux 可以称得上是中流砥柱;移动端, Android 也是基于 Linux 内核,可以说,编程世界中,Linux 是主流,不会 Linux 操作系统的你会格格不入。

2. 研究操作系统内核代码,你能学到数据结构与设计模式的落地实践。在 Linux 内核里,你会看到数据结构和算法的经典使用案例。你甚至还会看到系统对并发情况保护这种复杂场景。在实践中遇到问题的时候,也可以直接参考内核中的实现。

3. 了解 Linux 操作系统生态,能让你事半功倍地学会新技术。Linux 最大的优点就是开源。无数优秀软件运行在 Linux 上,比如数据 MySQL、消息队列 RabbitMQ、大数据 Hadoop、虚拟化 KVM 等等,学习 Linux,你可以亲密接触大牛思想,这对于你个人的技术进步和职业发展都非常有益。

可以说,如果想在技术之路上走得更远,找到更高薪的工作,深入地学习并掌握操作系统是必经之路。可是很多人在学习过程中很容易迷路,主要有下面两个原因:

1. 操作系统涉及方方面面的知识,包括数据结构与算法、计算机组成原理、网络协议、编译原理等等 CS 专业的硬核知识,可以说是最复杂的软件系统;

2. 理解操作系统更需要理论与实践深度结合,很多具体的编程问题,比如并发、网络编程、性能调优等等,都需要你理解操作系统的工作原理。

我一直希望有一种方式,可以生动有趣地学习 Linux 操作系统,更快地上手。直到我发现了下面这张图,用“上市公司”的比喻,把 Linux 操作系统零散的知识点用图谱的形式表现出来,很好诠释了 Linux 的学习路线,太形象了!

上图出自刘超《趣谈 Linux 操作系统》,如果你想轻松有趣地系统学习操作系统,推荐你刘超老师最近在极客时间开的专栏《趣谈 Linux 操作系统》。

刘超是谁?

他是网易杭州研究院云计算技术部首席架构师,有 15 年云计算领域研发及架构经验,出版过《Lucene 应用开发解密》,QCon2019 广州专题出品人。

去年,他在极客时间开了个 “趣谈网络协议” 专栏,这个专栏目前有超过 3 万人订阅。我非常认可他这种 “像小说一样” 的 “趣谈” 形式,讲得通俗易懂,可以让人更好的理解底层知识。写得也很到位,我刷了 3 遍,后面还准备再刷。

大家的学习热情也十分高涨,光互动留言就超过了 5 万字。很多同学希望刘超老师再延续 “趣谈” 的形式,开一门 Linux 操作系统的课程。据说经过半年时间的打磨,这门《趣谈 Linux 操作系统》终于上线了,我迫不及待地想要推荐给你。

这个专栏有两大特色 第一个特色是“趣谈”,通过故事化的方式讲述,特别容易理解。鉴于操作系统这个大管家的角色,刘超会假设我们一起做一个外包公司,目标是把这个公司做上市,而操作系统就是把外包公司做上市的老板。他会把这家公司的发展阶段分为几个时期,逐一详细讲解。

第二个特色是图解,一图胜千言。专栏会通过图的方式,将 Linux 复杂的概念、数据结构、流程表现出来,用一张图串起一篇文章的知识点。比如下面刘超老师画的图,讲了文件操作在各个层的数据结构的关联,我一下就理解了。

上图出自刘超《趣谈 Linux 操作系统》专栏

可以说,学完这个专栏,你将收获:

1. 快速上手 Linux 操作系统

2. 趣味图解内核工作原理

3. 熟练掌握程序运行机制

4. 讲练结合修炼底层能力

原文发布于微信公众号 - 运维之美(Hi-Linux)

原文发表时间:2019-08-06

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

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券