首先在我看来,不论你以后是做运维亦或者是做后端开发,云计算等。只要和后端搭边,Linux都是必会的基础知识。所以说Linux是伴随我们工作中一个特别重要的知识。
不过很多同学在初学Linux的时候,始终不得其法,发现越学越摸不着头脑。到最后不了了之。
在我看来,这些同学的学习方法和学习过程都是盲目的,没有目标,没有目的性,只是在随便的翻阅一些文档和笔记,没有制定自己的学习计划。以至于基础本身就没学完全,没搞透彻基础知识和基本原理,就开始尝试一些服务或者云计算等,这种做法无异于高屋建瓴。到最后,看似哪都学了,但其实哪也学会,更别提说是掌握甚至精通了。
接下来我将会结合自己的几年的个人Linux运维和开发经验,谈谈Linux的学习方法与学习中应该注意的一些事。
在我看来,一切高深的知识都不过是从基础知识演变和抽象而来的。所以大家一定要先把自己的基础知识夯实再说。没有基础知识做铺垫,后面的那些进阶高阶知识根本无从谈起。
首先,要想学会Linux,一定要具备能折腾的心。而且要不怕折腾。遇到问题不要怕,也不要随便轻言放弃。现在网上资料那么多,各种通讯那么发达。一定会有方法解决你的问题的。
在学习基础这个层面,我首先就要给大家推荐的是一本书,这本书我在初学Linux的时候,就是看这本书入门的。
那就是《Linux就该这么学(第2版》》这本书,现在已经出了第二版,相较于第一版,知识更加全面,并且是基于RHEL 8系统,紧跟潮流。
在我看来,这本书的排版顺序,十分适合初学者,大家可以跟着这本书从前往后,先学习前面的基础命令,把这些基础命令反复练习,知道每条命令是干什么的,以及这些命令背后的每个参数每个选项都是干什么的。这些命令一定要死记在脑子中。
再来推荐一本学习Linux基础命令的书籍《Linux命令行大全》。
这本书针对Linux命令和shell编程这部分知识,做了十分全面的介绍和实践,该书知识点循序渐进,重点难点突出,十分适合Linux初学者学习和使用。
然后后面就是开始由浅入深的介绍一些服务的搭建和使用。比如ssh,apache,sambda服务等等。这些服务在企业中都是必不可少的,也是我们必须掌握的。
学习服务搭建的过程,其实就可以对以往学习的命令来一个综合的实践和复习。之前学习的命令各个之间都是没什么关联的,这些知识也十分分散。当你使用这些基础命令完成一个服务的搭建的时候,就知道怎么把这些基础的命令组合在一起,做一件“大事”。这个时候,你就能从整体把握这些命令了。
当你把这两本书的所有知识都看完后,那么恭喜你已经完全入门Linux了。Linux基本的知识你已经掌握了。现在你完全可以继续学习Linux 的进阶和高级知识了。
现在你要学习一些计算机网络方面的知识了,比如iptables服务和selinux知识。要掌握系统故障排查方法并熟悉系统调优策略。并且要学习shell脚本编程。这个在Linux上运行的脚本语言,可以让你事半功倍在以后的学习和工作中。
学习shell脚本的话,我个人推荐一本书。
这本书,里面包含了大量的shell编程技巧,学会这些技巧,可以使得大家在工作中使用shell编程更加得心应手。
如果时间允许或者你个人愿意的话,我还强烈建议你学习一些python知识。
接下来,到了高级部份。这部分在我看来是对以上知识的综合实践,难度最高,所以需要花费的时间也会更多。
这个时候你要学习一些分布式,集群的架构知识。
比如LVS,Keepalived等,熟悉大数据,云计算,自动化运维等。这些知识,每一门都够学习很研究很长时间了。
当你开始学习这些知识的时候,那么现在的你一定已经具备Linux的相当高的运维水平了。所以各位这个时候就需要自己摸索,自己主动去学习这些知识了。不过在这里,根据我个人的经验,我还是推荐一些书籍给大家,让大家可以有选择性有针对性的学习。
首先第一本书是《大规模Linux集群架构最佳实践》。
这本书以动视暴雪中国运维团队的日常工作作为背景,知识点十分全面和完善,包含了Linux系统,网络知识,服务器安全,服务器监控等知识点。该书没有着重讲解原理,而是通过大量的实践操作来讲解。
第二本书是《曝光linux企业运维实战》。
这本书也十分注重实践,里面包含了大量在工作实践之中遇到的问题和解决方案。
说了那么多,Linux这门学问,值得各位一辈子学习,其中涉及到了方方面面的知识。并且现在各种新技术层出不穷,我们更应该紧跟潮流,不断学习不断实践。