【云驻共创】什么程度才叫精通Linux?

举报
红目香薰 发表于 2024/04/10 11:55:40 2024/04/10
【摘要】 本文整体的剖析了工作与Linux掌握级别的对应关系,并在对应级别的知识点上推荐了一些课程内容与书籍亦或是一些视频视频课程,希望能给大家提供一定的帮助。 如有大神达到至臻化境的境界,还请将更多的知识通过文字或视频的方式传承下来,也算对得起我们高二的时候所学习的那【横渠四句】: 为天地立心, 为生民立命, 为往圣继绝学, 为万世开太平。

前言

一般学习任何科目都有入门、熟悉、熟练、精通、小成、大成、臻入化境,Linux学无止境,相应的学到什么情况才能到精通呢,我们就在本篇文章里探究一下,我这里会从工作和学习路线的角度出发,一点点剖析对应的Linux技术需求让大家有个直面的感受。

Linux工作分类

Linux相关的工作门类可达十多种,这里我们根据工作难度来逐一分析对Linux掌握程度的需求,这样既可以知道自身是否可以适应某类工作,而且还会知道我们对Linux技术掌握到了什么程度,一举两得。

Linux入门工作——入门级别

系统监护岗位、简单运维岗位,桌面运维这些类似的岗位都仅仅需要Linux入门命令即可,所有内容都是程序员已经搞定的,只需要用眼睛盯着显示器,大概涉及到的命令也不会超过10个,用的最多的命令可能是查看日志:

tail -n 100 -f logfile.txt

tail:是一个常用的Unix或Linux命令,用于显示文件的最后部分。

-n 100:表示显示文件的最后100行。

-f:表示"follow",即动态地跟踪文件的更新。

在就是看看网络是否畅通,使用ping命令即可,cd、pwd这种命令你能看到此篇文章相信你一定都是会的,最难的可能就是tar -zxvf类似的解压命令了,理论是用不到rpm或者yum安装环境的,所以说难度几乎是没有,而且岗位舒适度较高,没有额外的工作任务压力。

想面试通过这类岗位所需要的知识在大学即可学到,如果大学的课程中我们没有Linux课程则需要在网上学习一下,这里我推荐华为开发者学堂的课程:

https://connect.huaweicloud.com/courses/learn/course-v1:HuaweiX+CBUCNXX158+Self-paced/about?ticket=ST-81683681-kIwJeflJSZwGfx9zLzuni0Qd-sso&locale=zh-cn

本课程适用于:0基础、Linux爱好者、转行人士、大学生、IT相关行业从业者。

课程对应目标:掌握基本Linux基础、用户管理、文件操作、服务配置,达到企业基本使用水平。

课程内容会涉及到:Linux登录和基本操作、Linux命令执行、Linux常见命令及字符集和编码、命令行及括号扩展、Tab键补全、命令行历史及调用、Linux帮助获得。

这类工作时间可能是三班倒,适合更毕业的小白,在这个时间段可以利用倒班的时间来继续深入学习Linux,让自己的技能慢慢的达到熟练。毕竟此类岗位的薪资仅仅能保障刚毕业的单身生活,想为社会创造更多的价值就得持续学习。

Linux基础工作——熟悉级别

基础Linux运维、实施,网络管理员,系统安全工程师等工作岗位是真正的Linux基础工作,这里需要的Linux技术就会达到环境级别了,这个级别就无法通过简单的学校学习以及自学类掌握,需要通过不断的实践来熟悉各类异常情况才能真正的掌握此类工作,这个岗位最大的误区就是大家认为很简单,但是往往又是最最最重要的工作岗位,知识涵盖面就会比入门工作广泛的多了。

大致的概括一下工作内容:负责搭建、配置、维护和优化Linux服务器,确保系统的高可用性和稳定性。

再次申明,这是一个非常重要的岗位,特别是随着互联网行业的快速发展,对运维工程师的需求也在不断增加,对大家爱岗敬业要求也较高的。

所涉及的技术最基本的就是Linux系统安装:

https://connect.huaweicloud.com/courses/learn/course-v1:HuaweiX+CBUCNXX157+Self-paced/about

入门的时候我们仅仅是掌握操作即可,毕竟所有的环境都会有程序员预先搞定,仅需要按照规章制度操作即可,Linux基础工作这里就需要真正的以工程师的身份工作了,最基本工作需求就是搭建Linux环境,通常都会是在win系统上搭建虚拟机来跑Linux系统。

这里推荐的线上课程就是Linux安装,主要是安装centOS8及Ubuntu等各种操作系统,我们掌握了这个环境搭建之后再去以这个环境为基础安装和运行我们系统所需要的环境。

基础技术的文件管理也是必备技能:https://connect.huaweicloud.com/courses/learn/course-v1:HuaweiX+CBUCNXX164+Self-paced/about

文件系统管理可以说是Linux操作的核心基础,我们随时要掌握系统运行时的各种信息状态,在这里我们可以掌握Linux文件系统的操作、RAID(硬盘阵列)、LVM(逻辑卷管理)用法等。

现在有了环境与环境文件管理了,在这个基础上只需要加上一些基础的环境搭建即可。由于仅仅是熟悉的级别,那么环境也就是几个基本的环境,一般环境通常为java、tomcat以及MySQL运行环境,这些环境的安装会涉及到vi命令的使用,所以对应的会我们一般都会使用预先准备好的环境脚本执行运行,防止在工作中出现错漏,这些知识在学习Linux文件系统管理中就会学习到文件挂载等操作,完全可以搞定本阶段的工作内容,机会不会涉及到网络,操作起来也安全一些,至此,我们已经可以搞定Linux基础工作岗位的内容了。

Linux正式工作——熟练级别

中级运维工程师、中级实施工程师以及中级网络工程师在这个范畴内,那么熟练的意思也就是熟知并做来顺手,说明我们已经对Linux操作已经掌握的差不多了,可以在一些基本工作上独当一面,再也不用仅仅是一个复制粘贴运行的机器,我们已经可以在工作机上真正的写我们的环境配置文件,简单的sh脚本,可以放开使用删除命令的权限等等,但是rm -rf /*类似这种操作还是想都别想的。

技术到了这里,最核心的也就是环境的配置与安装了,那么,Linux平台软件包安装与管理的课程就必须安排上:

https://connect.huaweicloud.com/courses/learn/course-v1:HuaweiX+CBUCNXX163+Self-paced/about

这个课程的课程目标是精通rpm工具使用,精通yum仓库企业级配置实现以及掌握Linux源码编译安装。各种安装不是那么容易掌握的,技术到了熟练也就是可以搭建绝大多数代码以及数据库的运行环境了。软件运行和编译是整个操作的核心,这个阶段还没有要求能写出非常恰当的sh脚本,故而逐步并且熟练安装各种运行库以及环境是我们的首要任务。

Linux高级工作——精通级别

真正的精通Linux其实也只是真正的算是入门了,这个阶段的岗位就可以说是高级工程师,并且可以考取一定的证书了,例如红帽证书等。

我这里推荐的学习内容是shell编程:

https://connect.huaweicloud.com/courses/learn/course-v1:HuaweiX+CBUCNXX088+Self-paced/about

我们来看一下Shell编程的简介,Shell编程是一种使用Shell脚本语言来控制和管理操作系统进程和文件的操作。Shell脚本可以执行各种命令和程序,包括但不限于文件操作(创建、删除、复制、移动、重命名等)、进程管理(启动、停止、重启、查看和管理进程)、系统配置(如环境变量、网络配置等)、数据管理和处理(如文本提取、格式化输出等),以及自动化任务(如定时执行任务、备份文件、自动下载和安装软件等)。

从简介中我们能看到Shell能做的内容非常多,并且是可以执行自动化任务的,我们可以通过编写Shell脚本在环境统一的情况下高效快速的完成既定工作任务。

到了这个级别我们基本上就可以完成市面上所有的功能服务了,但是前提都是已经存在的软件功能,我们还没有自行编写软件的程度。

精通级别——数据库方向运维

GaussDB现在是比较火的我这个单独推荐一下,华为有一系列的对应课程内容,我们可以在下方的链接内看到。

https://edu.huaweicloud.com/courses

在这里你可以对GaussDB有一个更为深彻的学习与系统的掌握。

这里我为运维的小伙伴们推荐一个系列的课程,比较小众(我解决问题的时候就在这里搜),但是课程的内容都是应用级别的,非常有应用价值。10多年的老DBA很用心的留下了自己的价值。

https://space.bilibili.com/660863136

除了有各种的技术学习外,还有很多急性时间解决方案。

精通级别——shell自动化方向运维

自动化这里没有单独的老师的精华讲解,我这里找到一个干活的shell视频全集,老师讲解的比较顺,前面的可以跳过的,后面的第8个视频开始看,后面的价值是非常高的。

https://www.bilibili.com/video/BV14L4y157Bv

会话的顺序说的也很明白,非常好的内容,讲师不熟悉,但是我看过北大的shell系列课程,总体对比一下,这个的涵盖价值更高一些。

希望大家都能尽快的达到精通级别,创造自身更多的价值。

Linux初中级工程师——小成级别

小成级别,我们就不能拘泥的现有的软件使用,我们可以根据自身需求来修改软件,或者进行自行编辑软件,让软件为我所用,相对应难度也就大了很多,下面是我推荐的Linux源码趣读,还挺有意思的,你会对整个操作系统的体系结构和逻辑细节有非常清晰的认识,从此爱上并阅读更多的操作系统源码,并为以后的成神之路打好坚实的基础。

本书大致分为5个部分,从前到后依次的告诉你程序是怎么跑起来的,很系统,很详细。

第1部分:进入内核前的苦力活。覆盖从开机到运行到Linux中的main函数的关键流程解析,帮你清晰认识Intel CPU的体系结构。

第2部分:前期的初始化工作。讲述main中的各种初始化函数,这些函数是操作系统各个模块的交互桥梁,为理解后续操作系统各个模块的运作原理打好基础。

第3部分:一个新进程的诞生。讲述从内核态切换至用户态,并建立起第一个用户进程的全部过程。学完这部分,你将会理解一个多进程的操作系统是如何建立和运作的。

第4部分:shell程序的到来。主要讨论如何将磁盘中存储的shell程序加载到内存中来,并最终交给CPU去执行。通过这个过程你会看清一个程序从存储到硬盘到最终被执行的全部过程。

第5部分:一条shell命令的执行。让我们跟着一条shell命令"走南闯北",从用户输入给计算机一个字符串开始,一直到该程序的最终执行,这一过程能帮你把前面所学的知识融会贯通,整个操作系统的启动流程与运作原理,将会生动形象地浮现在你的脑海中。

对应是初中级工程师也就是否能将程序进行优化,或者是否可以自行进行程序调优编码。

Linux高级工程师——大成级别

高级工程师就得有高级的样子,BPF之巅你值得掌握。

BPF,全称是Berkeley Packet Filter(伯克利数据包过滤器)的缩写。其诞生于1992年,最初的目的是提升网络包过滤工具的性能。后面,随着这个工具重新实现BPF的内核补丁和不断完善代码,BPF程序变成了一个更通用的执行引擎,可以完成多种任务。简单来说,BPF提供了一种在各种内核时间和应用程序事件发生时运行一小段程序的机制。其允许内核在系统和应用程序事件发生时运行一小段程序,这样就将内核变得完全可编程,允许用户定制和控制他们的系统。

只有掌握了BPF才能算得上是真正的掌握了Linux,在这个领域几乎可以俾睨天下了,但是你能对系统有多深度的掌握还得看个人天赋,虽然很多人都可能到达这个级别,可这个级别如果细分的话还会有很多的分支,将各个分支都玩明白了,那就可以准备继续修炼至臻化境了。

Linux总工程师——至臻化境

至此,我也没有什么可以推荐的了,不过越低级的书籍好像就越有深度,C语言以及汇编语言是我最后推荐的两本书。

如有大神达到此境界,还请将更多的知识通过文字或视频的方式传承下来,也算对得起我们高二的时候所学习的那【横渠四句】:

为天地立心,

为生民立命,

为往圣继绝学,

为万世开太平。

总结

Linux一门学无止境的技术,在我们的生产工作中起着举足轻重的重要作用,我们依靠Linux让我们的系统稳定运行,依靠我们自身的技术不断的优化软件,优化网络,优化系统,最终为客户们提供一个稳定且快速的接口或服务响应功能,持续的为各行各业创造我们的价值,我们是最最底层的基石,我们必须要有深深的责任感,运维、实施、网络以及优化,各种传承,各种异常不到的解决方案都是我们的瑰宝,希望各位高手也能将自己的优化与解决方案发出来,让大家共同学习,共同打造一个更美好的网络世界。

本文参与华为云社区【内容共创】活动第26期

任务20:到什么程度才叫精通 Linux?

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。