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

零、前言

之一 为何写这个系列?为何是Linux?

老婆自从怀孕之后,辞职在家待了好几年了,如今时常感受与社会脱节。因此想找个工做。mysql

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

而我以为入门Linux运维实际上是比较简单的,可是没人教的话又比较难。因此萌生了写这个系列教程的想法。程序员

写这个系列,我感受很有点自不量力,由于我接触Linux的时间也并不久。
可是列出这个大纲,是有点本身的考虑的。sql

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

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

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

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

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

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

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

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

废话就很少说了,列了个大纲V0.1以下。

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

之二 大纲

1、初始Linux

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运维有啥用啊?

挣钱啊。笑。

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

可是能在这个岗位上作得精通却至关不容易,仍是比较有上升空间的。

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


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

若是感兴趣的话,能够关注个人公众号,后续个人一系列教程应该是首先发在公众号。

相关文章
相关标签/搜索