前不久,有一些读者朋友跟我聊到关于 Linux 运维方向的问题,不知道自己该学什么?怎么学?甚至对自己今后的职业规划发展方向,都没有明确。这也就充分说明了自己适合做什么方向,这个领域究竟适不适合自己去做?

对于一个不了解运维究竟是做什么的同学,可能或多或少的有听过相关话题的讨论和经过一番搜索所知有了短浅的认识。原来运维就是每天很苦逼的在机房工作,甚至可能干着一些搬服务器、上架服务器、整理网线、打标签、调试网络设备等一系列环节。

这么一听,肯定显得地位很低端,没有将自己大学所学专业应用到实际工作中,不仅技术没得到任何提升,工作也慢慢变的枯燥乏味,对自己今后跳槽也会受到影响,因此对这个行业感到迷茫,觉得没任何发展前途,很难发挥自己的价值。

在实际工作中 Linux 系统目前主要应用在企业服务器端,学习 Linux,是每一位程序员必备的技能,不管你是前端、后端、大数据、测试、算法等领域,Linux 是至关重要的。对于一名初学者来讲,前期可以先在 Windows 环境下安装个 Linux 虚拟机或者通过在线 Linux 环境并在这基础上进行实践。

学习 Linux 而更多的是向系统层面、运维工程师方向发展,其岗位主要包括:云计算系统工程师、大数据运维工程师、运维开发工程师、数据库运维工程师等等,其职位都是 Linux 运维工程师的进阶。那么作为一名运维工程师,怎么学习 Linux,以及 Linux 入门和学习的路线。

那么究竟这一话题,逐步展开来写一写关于 Linux 运维领域的学习路线,当然了,这也是我个人针对运维领域所需要接触的相关知识点,仅供大家参考,同时也欢迎大家补充。

初级运维工程师

互联网时代,人人都离不开网络。作为一名程序员来说,最起码不需要你过多的对网络有深入的研究,对于一些最基本的网络知识是必须要有的。那么在找运维岗位的时候,网络部分也是必不可少的,这里我也简单梳理了一下,具体部分如下:

1、网络技术与应用

  • 计算机网络基础:基本概念、网络功能和分类、网络发展史、网络协议和标准的区别、网络常见设备及其功能、网络拓扑结构、常用的数值转换方法;

  • 网络参考模型:OSI 和 TCP/IP 分层模型的结构、OSI 各层功能、数据传输过程、设备与各层之间的关系;

  • 网络传输介质:制作双绞线跳线、打接信息模块、连接各种网络设备、光纤的特点分类和应用、测试网络连通性;

  • 网络布线:综合布线常识与材料、布设网络线缆、网络布线的测试与验收、布线设计图纸;

  • 交换机 / 路由器的基本原理与配置:(常见的品牌:Cisco、HUAWEI、H3C等)、MAC 地址理论、以太网帧结构、交换机转发原理及基本配置等;

  • IP 地址理论及应用:IP 地址和子网掩码概念及分类、配置 IP 地址、实现路由器间互通;

  • 网络层协议及应用:数据包格式、ARP/ICMP 协议原理;

  • 静态路由:路由的基本原理、配置静态/默认路由、排查路由的故障问题;

  • 网络接入:网络接入方式、配置宽带路由器及处理常见故障;

  • WLAN 的部署与安全:无线 AP、WLAN 基本常识;

  • 设备管理:硬件组成、路由器的启动过程、恢复设备密码、交换机的 IOS 备份、恢复、升级方法、路由器交换机的产品体系

  • ARP 攻击与欺骗:防御攻击及欺骗、ARP 防火墙、攻击和欺骗报文、抓包软件;

  • 虚拟局域网 VLAN:VLAN 原理、TRUNK 原理、配置 VLAN 和 TRUNK

  • 单臂路由和 VTP:单臂路由的通信过程、配置单臂路由和 VTP;

计算机网络部分原创相关文章推荐阅读(点击下方文字即可跳转)

  • 计算机常用端口号汇总

  • 计算机网络基础知识总结

  • H3C交换机如何配置SNMP协议?

  • TCP/IP协议及三次握手、四次断开详解

推荐视频

大家可以看看哔哩哔哩上韩老师的视频,搜索韩老师即可找到韩老师讲高校《计算机网络原理》

推荐书籍

《计算机网络:自顶向下方法》

《TCP/IP详解》

2、Linux 基础

  • 系统安装及服务控制:操作系统的安装方法、Linux 系统引导过程、控制 Linux 系统中的服务、优化 Linux 的启动任务;

  • 目录和文件管理:常见的基本命令、查看文件内容方法、备份与恢复文档方法、VIM 文本编辑器的方法;

  • 安装及管理程序:Linux 命令与应用程序的关系、Linux 应用程序的组成、软件包的封装类型、RPM 包管理工具(概述、格式、查看、安装、升级、卸载、维护等)、源码编译安装程序(编译安装的基本过程:解包、配置、安装、使用);

  • 账号和权限管理:管理用户账号和组账号(用户账号、组账号、UID 和 GID 号)、用户账号/组账号管理(用户账号/组账号文件、添加 / 删除 / 修改用户账号)、查询账号、查看目录和文件的属性、设置目录和文件的权限、设置目录和文件的归属;

  • 磁盘和文件系统管理:检查并确认新硬盘、规划硬盘分区、创建 / 挂载 / 卸载 文件系统、设置文件系统的自动挂载、查看磁盘使用情况、LVM 逻辑卷管理、LVM 管理命令、LVM 应用、设置磁盘配额(作用范围、限制对象、限制方法等)、磁盘配额管理;

  • 进程和计划任务管理:查看和控制进程、crontab 周期性任务设置;

  • 分析和排查系统故障:分析日志文件、排除系统启动类故障、排除文件系统类故障;

  • Linux 基础网络设置:查看并测试网络、设置网络地址参数;

Linux 基础部分原创相关文章推荐阅读(点击下方文字即可跳转)

  • Linux 环境搭建 | 手把手教你如何安装 CentOS 7 虚拟机

  • 99% 的 Linux 运维工程师必须要掌握的命令及运用

  • Linux 环境下 vi/vim 编辑器常用命令

  • Linux 环境下安装及管理程序(软件包封装、RPM命令、源代码编译安装的基本过程)

  • Linux 环境下账号和权限管理

  • Linux 环境下磁盘和文件系统管理

  • Linux 环境下进程和计划任务管理

  • Linux 环境下分析和排查系统故障

  • 如何在线上环境挂载 LVM 磁盘?

  • 神奇,原来 Linux 终端下居然还有进程记帐功能…

  • 5 种方法查看当前系统登录的用户信息

  • 5 种方法排查 Linux 系统运行速度慢的现象

  • 你不得不知的 top 命令技巧

  • 详解 Linux 环境下进程管理工具 Supervisor

  • 那些有趣却无用的 Linux 彩蛋

  • Linux 图形化终端下截图与快捷键实用技巧!

推荐视频

初学者:推荐老男孩的视频
Linux 有基础的读者:推荐马哥的视频

推荐书籍

《鸟哥的 Linux 私房菜》

中级运维工程师

  • 基本服务:DHCP(动态配置主机地址服务)、Samba(文件共享服务)FTP(文件传输服务)、DNS(域名解析服务)

  • Web(网站服务):LAMP、LNMP、TomCat

  • 数据库:MYSQL、Oracle、Redis、SQL Server、MongoDB 等;

  • Shell 脚本:if、for、while、case 语句、文本处理三剑客:grep、sed、awk 等;

  • 系统安全及应用:账号安全控制、系统引导及登录控制、弱口令检测及端口扫描;

  • 远程访问及控制:SSH 远程管理、访问控制;

  • 防火墙:表、链结构、数据包过滤的匹配流程、编写防火墙规则、SNAT / DNAT 策略及应用、规则的导出 / 导入、防火墙脚本;

  • YUM 仓库:部署 YUM 软件仓库、YUM 工具管理软件包;

  • PXE + Kickstart:远程安装服务 + 无人值守安装;

  • Rsync + inotify:远程同步备份工具 + 实时同步;

相关文章推荐阅读(点击下方文字即可跳转)

  • Linux 之 Yum 仓库的配置及使用

  • Linux 环境下防毒软件 ClamAV

  • Linux 环境下端口扫描工具

  • Shell 编程-条件测试 | 基础篇

  • Shell 编程-控制结构 | 基础篇

  • Shell 编程 | 脚本参数与交互及常见问题

  • Shell 脚本中 '$' 符号的多种用法

  • Linux 基础网络设置及搭建 DHCP 服务

  • Linux 环境下 Samba 文件共享服务

  • Linux 环境下 FTP 文件传输服务

  • Linux 环境下 DNS 域名解析服务

  • 详解 Linux 环境下部署 HTTPD 服务

  • 如何在 Linux 环境下部署 AWStats 分析系统来监控 Web 站点?

  • 一文读懂 HTTPD 服务的访问控制

  • MySQL | MySQL 数据库系统(一)

  • MySQL | MySQL 数据库系统(二)- SQL语句的基本操作

  • MySQL | MySQL 数据库系统(三)- 数据库的用户授权

  • MySQL | MySQL 数据库系统(四)- 数据库的备份与恢复

  • 架构篇 | 带你轻松玩转 LAMP 网站架构平台(一)

  • 架构篇 | LAMP 架构应用案例 - 部署 PHPMyAdmin 系统(二)

  • iptables 防火墙(一)- 四表/五链、数据包匹配流程、编写 iptables 规则

  • iptables 防火墙(二)- SNAT / DNAT 策略及应用 |(附体系思维导图)

  • iptables 防火墙(三)- 规则的导出 / 导入、使用防火墙脚本程序 |(附体系思维导图)

推荐书籍

《Linux 命令行与 shell 脚本编程大全》
《高性能 MySQL》

高级运维工程师

  • Web 缓存代理:Squid 代理(传统代理、透明代理、ACL 访问控制)

  • 虚拟化技术:KVM + OpenStack

  • 集群:LVS + Keepalived(负载均衡 + 双机热备)、Haproxy + Nginx 搭建 Web 集群;

  • MySQL 主从复制与读写分离

  • 运维监控软件:Cacti、Nagios、Zabbix(主流)、Prometheus、Grafana

  • 自动化:Ansible、SaltStack、Jenkins、Puppet

  • 容器技术:Docker、Kubernetes

  • 日志分析系统:ELK

  • 编程语言:Shell、Python 等

  • 性能优化:是最大化提升服务承载量,也是比较难的,可从硬件层、操作系统层、软件层和架构层维度展开思考进行优化(这里我推荐极客时间的《Linux性能优化实战》专栏,后台回复:性能优化)除此之外,还有一些其他的专栏和视频,有需要的读者可以加我微信或者扫描文末的二维码即可;

相关文章推荐阅读(点击下方文字即可跳转)

  • Linux 环境下虚拟化之 KVM 常用命令

  • Saltstack 系列 | Saltstack 集中化管理平台安装(一)

  • Saltstack 系列 | 利用 Saltstack 远程执行命令(二)

  • Saltstack 系列 | 修改 salt-minion 的 ID 后报错解决方法(三)

  • Saltstack 系列 | 跟我学 Saltstack 常用模块及 API(四)

  • Saltstack 系列 | 如何在 Saltstack 组件下收集被控主机的信息?(五)

  • Saltstack 系列 | 如何通过 Saltstack pillar组件定义与被控主机相关的任何数据?(六)

推荐书籍

《Python Linux 系统管理与自动化运维》
《Python 编程从入门到实践》
《Docker 技术入门与实战》
《Kubernetes 进阶实战》

资深方向

如果你想要往更高技术领域发展的话,同时也会有更多的选择。具体如下:

  • 运维开发方向:主要是 Python 运维开发;

  • 自动化运维方向:主要是在原来的自动化运维领域进行深入研究;

  • 云计算方向:主要是针对现在比较流行的容器技术:Docker、Kubernetes 以及虚拟化技术等;

  • 架构师方向:架构师的话,需要覆盖的技术领域就比较广了,而且需要的工作经验在 5 年工作以上;

  • 大数据方向:主要针对开源大数据系统需要有深入的研究;

总结

通过上述四个阶段大致介绍了一些运维方向及各阶段所需要具备的知识点,同时也大家能够明确自己今后职业规划发展方向的定位。学习是一个很漫长的过程,贵在坚持!不断输入自己的同时也希望大家多多能够进行输出,要学会分享,让更多的人知道。我们每个人都应当有自己的目标,朝着目标方向去发展,相信自己,你一定能行。

简介 

洪地基,基哥,在互联网圈混迹15年,目前专注运维架构学习,DevOps的落地实践。欢迎添加我的微信号(hongdiji)一起学习交流。

长按扫码关注

一个点亮在看,小编会开心一整天...

linux软件工程师_运维工程师打怪升级之路相关推荐

  1. python大数据运维工程师_运维工程师转型大数据怎么样

    运维工作没意思,运维没有前途,运维会被取代--让很多的运维工程师感受到前途无"亮",随着资本寒冬的来临,以及各种新技术的不断出现,很多运维工程师开始走向了转型的道路.那么在如今的数 ...

  2. mysql运维工程师_运维工程师需要了解的MySQL运维经验

    1. 概要 每台机器都使用多实例的模型. 每个机器放多个实例,每个实例放多个DB. 多实例之间没有进行资源隔离,这么做是让每个实例都能发挥最大性能. 目前大部分核心业务已切换成MyRocks引擎,在机 ...

  3. 运维学python用不上_运维工程师为什么要学python?

    现阶段,掌握一门开发语言已经成为高级运维工程师的必备计能,不会开发,你就不能充分理解你们系统的业务流程,你就不能帮助调试.优化开发人开发的程序, 开发人员有的时候很少关注性能的问题,这些问题就得运维人 ...

  4. python运维主要做什么_运维工程师主要做什么?

    很多想从事云计算运维工程师岗位的人,都想知道自己应该会什么样的技术.运维工程是都需要会什么技术?才会被企业所认可,才能找到一份专业的工作.今天传智播客就来说说运维工程师主要做什么. 运维工程师(Ope ...

  5. 运维工程师是桥的护栏_运维工程师职务说明书

    岗位名称 运维工程师 岗位级别 所属部门 职 系 直接上级 直接下级 职业发展通道 轮岗方向 晋升方向 岗位目的: 职责范围:负责组织实施相关项目的风险评估.监控体系与工作机制 工作内容 责任程度(全 ...

  6. python运维工程师前景及待遇_运维工程师有前途么?

    看怎么定义前途? 我直接点吧,不拿那些虚的精神生活来定义前途了,免得说忽悠,还是直接用物质水平吧 如果对于普通人来说,前途是指能赚个买房买车钱,那肯定没问题 如果想实现阶级跃升,进入富人阶级,也不是说 ...

  7. python运维工程师前景及待遇_运维工程师的前景如何?

    展开全部 工作前景 运维所涉及的知识面32313133353236313431303231363533e4b893e5b19e31333433616239.专业点非常广,对从业人员素质也要求非常高,运 ...

  8. linux面试宝典 pdf,运维工程师面试题(面试版).pdf

    运维工程师面试题(面试版) Linux 高级运维工程师笔试题 (面试版) 一.选择题(每题 2 分,共 40 分): 1.如果你的umask 设置为 022,缺省的你创建的文件的权限为( ) A. w ...

  9. 运维工程师是桥的护栏_运维工程师岗位职责与任职要求

    驻场运维工程师岗位职责及要求 一. 系统维护人员能力 / 素质要求: 1. 具备优秀的计算机软.硬件知识,能够快速判断软.硬件故障,并且能 够指导用户使用主流软.硬件: 2. 熟悉常用的操作系统 (W ...

最新文章

  1. Python_序列对象内置方法详解_String
  2. 【深度学习】keras框架使用预训练模型进行Finetune的应用
  3. CE5.0 - romimage.exe如何填充eboot.bin中的pTOC特殊指针生成.nb0
  4. 向服务器端提交数据的两种方式
  5. 360笔试第一题----最强的不一定是最后的赢家
  6. php 距离排序,php 附近由近到远排序查询
  7. Taro+react开发(35) 实现拖动
  8. [转]关于凸优化的一些简单概念
  9. OpenCV可移植图形工具HighGUI实现图像和视频操作
  10. Kotlin plugin should be enabled before ‘kotlin-android-extensions‘
  11. Spring官方都说废掉GuavaCache用Caffeine,你还不换?
  12. VSCode解决中文乱码问题最详解
  13. python第二版答案第六章_Python语言程序设计基础(第2版) 课后题 第六章
  14. 光伏电站清扫机器人_光伏电站清扫机器人_雷曼科林
  15. 【数组】深析 “数组名称”
  16. linux 内核启动参数
  17. 计算机二级60分容易吗,计算机二级哪个比较容易考
  18. Android程序登录界面设计
  19. ssh问题Received disconnect from:Too many authentication failures
  20. 科大讯飞语音工具类基于Java SDK的封装使用

热门文章

  1. 计算机英语学习v1.0,唱唱启蒙英语电脑版
  2. 哈尔滨理工大学软件与微电子学院程序设计竞赛(同步赛)(重现赛)
  3. 更改NuGet包缓存位置
  4. 什么是通过人工神经网络,深谈人工神经网络技术
  5. 小米OJ (136 小米兔的轨迹)
  6. PHP 编写留言板
  7. FFmpeg合并多个音频并解决声音变小的方法
  8. 如何解决无法加载文件 C:\Users\xxx\AppData\Roaming\npm\t sc.ps1,因为在此系统上禁止运行脚本 的问题?
  9. 如何给视频添加水印?这三个加水印的方法让你实现
  10. 图片缩放并设置dpi