上善若水,不进则退

姚毛毛

左手代码,右手写诗

linuxido.com

教老婆学Linux运维(一)初识Linux

零、前言

之一 为什么写这个系列?为什么是Linux?

老婆自从怀孕以后,辞职在家待了好几年了,现在时常感觉与社会脱节。所以想找个工作。

做了多年程序员,有点人脉也都基本是在IT圈子里,只能帮忙找找IT类的工作。

而我觉得入门Linux运维其实是比较简单的,但是没人教的话又比较难。所以萌生了写这个系列教程的想法。

写这个系列,我感觉颇有点自不量力,因为我接触Linux的时间也并不久。
但是列出这个大纲,是有点自己的考虑的。

主要是从实际工作上来出发,实操的多,讲道理的少。

很多人一开始接触Linux的人其实都是一脸懵逼的,最多会点windows上的CMD命令行的通用命令:cd。

而在接触了Linux后,也大多没有系统的学过,都是通过搜索引擎、博客,三言两爪的,不成体系。

对小白来说,一上来就让人家装虚拟机、装Linux,真是搞的人欲仙欲死。

从入门到放弃,不是说笑的。

我在2010年的时候接触到Linux这个单词的时候,直接被一堆Linux书单劝退了。

直到工作需要,前两年又经常跟Linux打交道,才慢慢熟悉了点。

本系列所说的很多命令,不会将其功能一一列出,只会列举一些常用项。想要对命令进行阶级学习,自行使用man、help命令查看帮助吧。这两个命令怎么用,回头再说。

废话就不多说了,列了个大纲V0.1如下。

回顾了下,貌似少了些常用的如解压缩、文件传输、用户权限这些东西。嗯,放到V0.2版本吧。

之二 大纲

一、初始Linux

1.1、什么是Linux?

Linux其实就是另一种有别于windows的操作系统。

但是这个操作系统基本不使用界面操作,一般用命令行干活。

嗯,电影里的黑客用的那个操作界面就是。笑。

我对Linux的解释是不是很简单?如果想看到详细的、专业的、系统性描述的小伙伴们此时就可以离开了。

因为后续的行文也都是如此,因为这个系列文章是为我老婆写的,是为那些对Linux只听过名字甚至没听过名字的小伙伴们而写的。

1.2 Linux 简史

Linux是从Unix发展过来的,它有很多儿子(发行版),常用发行版有Ubuntu(AWS——亚马逊的云——默认使用此版本)、redhat、centos、Fedora(实际不常用,但是国产操作系统一般基于此版本),其他诸如Debian、FreeBSD等等发行版不再一一列举,Linux的发行版本细究起来能多到让你绝望。

企业常用的Linux版本一般为redhat、centos,本系列以centos7为演示系统。

目前世界上大部分服务器系统都是基于Linux的。

什么是服务器系统?

例如你使用的各种App和网站,例如爱奇艺、优酷、腾讯视频,它们的前后台服务全都是部署运行在这个系统上。

那么,这么牛逼的Linux又是谁【创造】的?

Linus Torvalds,开源世界里创世神一样的人物。顺便说一句,Git也是这哥们开发的。

觉得Minx(Mini UNIX)不好用,自己开发了个Linux。捣鼓了几个月的时间,Linus的Unix出现了:Linux。

能说什么呢?牛啤。

另外一件有趣的事,随着Linux开源社区越来越庞大,大家提交代码各种冲突,Linus觉得原先这个代码管理太不好用了,捣鼓了几周时间,自己开发了个Git。

以Git为核心技术的GitHub代码托管网站目前已经是世界上最大的开源网站。前些日子,已经是75亿美元被微软收购了。

题外话说多了,现在对Linux与Linus有点了解了吗?

1.3 为什么用Linux?

前面说了,诸如如爱奇艺、优酷、腾讯视频这些你经常看电视电影的App和网站,它们的前后台服务全都是部署运行在这个系统上。

我们开发一般是在windows或mac上,但是打包之后的服务基本都是运行在Linux上的。

那为什么大家都爱用它?

免费、免费、免费。重要的事说三遍。

然后就是开源、稳定、安全、个性化。

那会不会有程序只能运行在windows上,不兼容Linux?

嗯,所以产生了跨平台的语言和工具。例如JAVA与JDK。

1.4 什么是Linux运维?

1.4.1 低级运维

运维是做什么的?

一般是负责服务器的管理、监控、维护。

例如监控日志,查看后台服务的log。接接客户电话,为什么这个系统又用不了了?

在运维的低级状态基本都是人肉运维,没事的时候点一点,看看系统有没有崩坏。处理一些业务问题,看看数据对不对,功能是不是出问题了。

1.4.2 高级运维

那高级状态是什么样的?

就是故障处理高手咯。

实际上在低级运维和高级运维中间的过渡中应该还有个中级运维,就是可以能监测服务状态(例如ping服务、Telnet端口),可以对CPU、内存、硬盘、网络服务器状态监控和一些浅显的分析。

而故障高手呢?可以针对CPU超负荷、内存溢出、硬盘损坏、网络中断等各种情况进行诊断,并予以恢复。

1.4 前景规划 & 学习路线

那么低级运维应该会什么?要掌握哪些技能?

我觉得就几点吧,一是会使用xhell这样的终端工具,然后掌握一些常用的Linux命令,可以简单的进行文件操作、查找,磁盘、内存的资源查看就够了。

入门了之后,学一点shell编程,懂一点Liunx上的程序运行机制,能简单地解决一些生产故障。

再然后可以学学中间件的安装与优化,例如jdk、oracle、mysql,最好再懂一点SQL。

懂得一些系统的资源监控工具,如vmstat、pref、pidstat;懂得虚拟化的一些工具,如docker、Kubernetes;懂一点监控手段,如prometheus、grafana。

最后是懂得各种为生产系统做故障排除、性能优化、性能测试。

不光是用工具看看指标参数,而是具体懂得其中含义,可以利用工具来提升系统性能,解决疑难问题。

我想,这便是一个高阶运维应该干的事了吧。

那么,终极拷问来了,说了这么多,学了Linux运维有啥用啊?

挣钱啊。笑。

这是一个入门算比较容易的工种,低级阶段的工作也不算繁重。

但是能在这个岗位上做得精通却相当不容易,还是比较有上升空间的。

到高阶段做运维管理、系统专家,或是转运维开发、测试开发。都是不错的出路。


本文说的东西都是一家之言,如有谬误,欢迎大家指正。

如果感兴趣的话,可以关注我的公众号,后续我的一系列教程应该是首先发在公众号。

posted @ 2019-08-08 22:53  姚毛毛  阅读(419)  评论(0编辑  收藏  举报