linux要学到什么程度可以工作

linux要学到什么程度?

如果你不知道需要达到什么程度才可以找工作的话,那么我建议你去招聘网站看一些关于linux系统运维岗位的要求就会明白,基本上要求就是精通Linux 安装设定操作、熟悉Linux指令、架设WEB Server 、FTP Server、MAIL Server、tomcat等中间件的配置使用。熟练掌握Linux操作系统配置与调试,网络安装、日常管理、安全、备份、恢复、故障处理、日志分析等技能。熟练的Shell编程经验精通系统安全各方面知识,熟练掌握iptables等常用安全技术,熟悉各种入侵方式并精通防范措施。下面是不同阶段的岗位能力要求:

{xunruicms_img_title}

1、基础用户级别: 刚入门的用户主要学习如何使用Linux系统。这包括命令行基础、文件系统操作、用户管理、软件安装和基本系统维护。这个水平通常足够用于日常任务,比如使用Linux桌面操作系统。

2、系统管理员: 如果你想成为一名Linux系统管理员,您需要更深入的知识。这包括网络配置、安全性管理、脚本编写、进程管理、系统性能调优等。系统管理员可以负责管理服务器、虚拟化环境、云计算平台等。

3、DevOps 工程师: DevOps 工程师需要深入了解自动化工具和流程,以便快速部署和管理应用程序和基础设施。他们通常会使用工具如Docker、Kubernetes和CI/CD流程。DevOps 工程师可以处理复杂的基础设施和应用程序部署任务。

4、Linux 网络和安全专家: 网络和安全专家需要了解Linux网络配置、防火墙设置、加密技术、入侵检测系统等。他们有能力确保网络和系统的安全性。

5、Linux 内核和嵌入式系统开发: 如果你有兴趣深入Linux内核或嵌入式系统开发,那么你需要精通C编程、Linux内核架构和嵌入式硬件。

目前一些公司对linux系统工程师的招聘要求可以划分为3个等级:了解、熟悉、精通。

1、了解级别:至少要能熟练安装linux系统,对linux分区文件系统有过多的了解,知道哪个目录是干什么用的,例如找log至少知道到/var/log路径下找,其它的常用命令会用即可。

2、熟悉级别:这个阶段基本要求你会有一定的处理问题能力和解决用户应用环境需求,比如部署apche服务,mysql服务等,调整个网络,设置个防火墙,部署个linux环境下的监控,至少在应用环境上有过一定的案例实施。shell脚本要会编写,没事写个计划任务备份数据没啥问题等。

3、精通级别:好吧这个级别就是linux内核你得知道咋回事,各种版本、各种环境都能操作自如(别说你只会redhat,ubuntu)。运维的事你能完全解决,开发的事你能快速定位问题,甚至架构你也能提出不同的意见。(这需要一定的工作年限和经验积累)这三个级别自己灵活把握,以上是我理解中三个级别,不同企业对此这3个级别的定义也不同,关键结合你学linux的目的出发,毕竟linux学深了挺难的花费时间很长,学的太浅了瞎耽误工夫。

{xunruicms_img_title}

到什么程度才叫精通Linux?需要掌握哪些技能?

对于 Linux 从业都而言,主要有三个方向:运维、开发、底层。下面我就对这三个方向进行展开。

方向一:运维:

首先,是服务器维,护保证服务器正常运行不宕机,这是最最基本的要求。服务器一旦宕机,公司找的第一个一般是运维工程师,所以,很多运维工程师都自嘲是背锅侠。然后,需要给开发人员提供一个可靠的服务器运作环境和技术支持。

小编知道的很多公司的开发环境是由开发人员自己搭建好的,但是,也有些公司将这部分工作内容交给运维工程师,而开发人员就专注于写代码。

当然,还包括对各种服务的配置,如FTP,DNS,APACHE,IPTABLE,ORACLE,MYSQL等。

除此之外,还要对服务器状态进行监控,如CPU内存占用,进程僵死崩溃,磁盘空间,异常登陆等。当然,还要负责系统进行升级,备份等等工作。

{xunruicms_img_title}

运维工程师需要懂很多的命令,然后就是上面提到的开发环境的搭建,各种服务的配置,以及日常的维护之类,都需要会。很多的操作其实通过脚本就能很方便完成,所以运维工程师很多还需要懂 Shell 及 Python。

方向二:应用开发

应用开发及底层开发方向就要写比较多的代码了,相对而言运维工程师就不需要写很多代码。

简单而言,Linux 应用开发工程师主要在Linux 环境下开发各种应用程序,就如同你们在 Windows 下开发的应用程序一样(比如QQ,PC微信等)。这些应用程序有些带有界面,也有很多是不带界面的。带界面的很多是由 QT 开发,当然也有其他的开发工具。

Linux 应用开发工程师需求量相对比较多,行业分布也比较广。方向主要有两个,一个是服务器方向,另一个是嵌入式方向。

几乎所有的科技公司都有服务器,所以在很多行业都有 Linux 应用工程师的身影。而嵌入式方向,也就是我现在的方向,就是在嵌入式平台上开发应用程序,其实道理都是一样的。

首先肯定要熟悉 Linux 平台的 API ,包括 IO 操作,进程间通讯, Linux 环境,网络通讯,等等,推荐看 APUE 这本神书。当然还需要懂脚本语言,包括 Shell, Python ,都需要懂。还有数据库的操作,比如 MySQL,Sqlite,至少要懂一个。

对于编程语言的话,大多数情况下是使用 C/C++ 。如果你需要做界面开发,可能还需要懂 QT 。

除此之外,你还需要懂一些行业规范,这个是应用工程师的必备技能。

{xunruicms_img_title}

方向三:底层开发

底层开发工程师相对而言需求就会少一些,一个公司通常会养一堆的应用开发工程师,但底层开发工程师可能就配备了一两个。为什么?因为现在很多底层移植、适配的工作都由芯片厂商都帮你做好了,很多情况下只需做维护就好了。

所以,底层开发工程师的一个很好去处就是芯片厂商,如果对这块有兴趣的朋友,芯片厂商是一个很好的去处。

当然底层开发工程师不仅仅做维护了,也是会根据公司的业务需求做一些定制。除此之外,还会做驱动开发的工作。

虽然说移植之类的工作现在很多都由芯片厂商完成,但uboot,文件系统,内核这类的移植技能肯定要掌握。然后,驱动开发也肯定要会,因为这部分工作的份量还是不少的。

而在做底层开发工作时,还有一个重要的技能,就是芯片手册的查看。如果你不会查看芯片手册,那后面的移植啊,驱动开发之类的工作都无从谈起。

有些公司可能还会对内核进行裁剪定制,那么,就需要对内核源码比较了解了,这部分要求就相对比较高了。

尊重原创文章, 禁止转载,违者必究!本文地址:https://www.ixywy.com/yjspx/453.html
上一篇移动互联网技术培训一般多久时间
下一篇 linux云计算是做什么工作的?
返回顶部