前言

Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

互联网Linux运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够7×24小时为用户提供高质量的服务。运维的职责覆盖了产品从设计到发布、运行维护、变更升级及至下线的生命周期。

运维团队的工作分类

1-应用运维(SRE):应用运维负责线上服务的变更、服务状态监控、服务容灾和数据备份等工作,对服务进行例行排查、故障应急处理等工作,工作职责如下:设计评审、服务管理、资源管理、例行检查、预案管理、数据备份。

2-系统运维(SYS):负责IDC、网络、CDN和基础服务的建设(LVS、NTP、DNS);负责资产管理,服务器选型、交付和维修,工作职责如下:IDC数据中心建设、网络建设、LVS负载均衡和SNAT建设、CDN规划和建设、服务器选型、交付和维护、内核选型和OS相关维护工作、资产管理、基础服务建设。

3-数据库运维(DBA):数据库运维负责数据存储方案设计、数据库表设计、索引设计和SQL优化,对数据库进行变更、监控、备份、高可用设计等工作,详细的工作内容如下:设计评审、容量规划、数据备份与灾备、数据库监控、数据库安全、数据库高可用和性能优化、自动化系统建设、运维研发、运维平台、监控系统、自动化部署系统。

4-运维安全(SEC):运维安全负责网络、系统和业务等方面的安全加固工作,进行常规的安全扫描、渗透测试,进行安全工具和系统研发以及安全事件应急处理,工作内容如下:安全制度建立、安全培训、风险评估、安全建设、安全合规、应急响应。

软件和技能

运维平台和工具包括:

  • Web服务器:apache、tomcat、nginx、lighttpd

  • 监控:nagios、ganglia、cacti、zabbix

  • 自动部署:ansible、sshpt、salt

  • 配置管理:puppet、cfengine

  • 负载均衡:lvs、haproxy、nginx

  • 传输工具:scribe、flume

  • 备份工具:rsync、wget

  • 数据库:mysql、oracle、sqlserver

  • 分布式平台:hdfs、mapreduce、spark、storm、hive

  • 分布式数据库:hbase、cassandra、redis、MongoDB

  • 容器:lxc、docker

  • 虚拟化:openstack、xen、kvm

  • 安全:kerberos、selinux、acl、iptables

  • 问题追查:netstat、top、tcpdump、last

新时代运维

传统的运维该如何转型呢?这里给出一点小的建议: 大致需要学习下这四个部分:

  • 自动化运维(Ansible,Puppet,Saltstack等)
  • Devops(Docker,K8s,Jenkins,Jira等),
  • 云服务技术(虚拟化、OpenStack、AWS及阿里云各种产品服务架构等)
  • python

计算机的组成及其功能

冯.诺伊曼体系中,计算机有五大基本部件:控制器、运算器、存储器、输入设备、输出设备。(电子专业学过,哈哈) 
实际应用中,计算机包括CPU(控制器和运算器)、存储器(Memory内存和Disk外存)、Input输入设备、Output输出设备。

CPU由运算器、控制器、寄存器、缓存、指令集组成。

a、运算器是实现算术运算和逻辑运算的部件

Linux发行版有三大主流分支:Debian、Slackware、Redhat,包含的主要发行版分别如下:

  1. Debian

    • Ubuntu 
      Linux mint
    • Knopix
  2. Slackware 
    • S.u.S.E 
      SLES-SuSE Linux Enterprise 
      OpenSuSE
  3. Redhat 
    • RHEL-RedHat Enterprise Linux 
      CentOS-Community ENTerprise
    • Fedore Core

Linux的哲学思想

1. 一切皆文件 
把几乎所有资源统统抽象为文件形式,包括硬件设备,甚至通信接口等,便于统一管理和定义; 
对文件的操作有:open,read,write,close,delete,create 
2. 由众多功能单一的程序组成 
一个程序只做一件事,并且做好,保证了Linux内核的高效运行; 
3. 组合小程序完成复杂任务 
通过连接多个简单的程序实现复杂的功能; 
4. 尽量避免和用户交互 
更贴近编程,易于以编程的方式实现自动化任务; 
5. 使用文本文件保存配置信息

修改配置信息只需要任意一款文本编辑器就可以进行。

Linux系统的启动过程可以分为5个阶段

内核的引导    运行 init    系统初始化    建立终端     用户登录系统

用户的登录方式有三种:

  • (1)命令行登录
  • (2)ssh登录
  • (3)图形界面登录

正确的关机流程为:sync > shutdown > reboot > halt

不管是重启系统还是关闭系统,首先要运行 sync 命令,把内存中的数据写到磁盘中。

cache:为了解决读磁盘的效率    buffer:为了解决写磁盘的效率

linux系统为了提高读写磁盘的效率,会先将数据放在一块buffer中。在写磁盘时并不是立即将数据写到磁盘中,而是先写入这块buffer中了。此时如果重启系统,就可能造成数据丢失。

sync命令用来flush文件系统buffer,这样数据才会真正的写到磁盘中,并且buffer才能够释放出来,flush就是用来清空buffer。sync命令会强制将数据写入磁盘中,并释放该数据对应的buffer,所以常常会在写磁盘后输入sync命令来将数据真正的写入磁盘。

如果不去手动的输入sync命令来真正的去写磁盘,linux系统也会周期性的去sync数据。

shutdown 关机指令,你可以man shutdown 来看一下帮助文档。例如你可以运行如下命令关机:shutdown –h 10 ‘This server will shutdown after 10 mins’ 这个命令告诉大家,计算机将在10分钟
后关机,并且会显示在登陆用户的当前屏幕中。Shutdown –h now 立马关机Shutdown –h 20:25 系统会在今天20:25关机Shutdown –h +10 十分钟后关机Shutdown –r now 系统立马重启Shutdown –r +10 系统十分钟后重启reboot 就是重启,等同于 shutdown –r now

Linux基础教程之基础命令总结

基本命令

清屏:clear 或者 ctrl+l查看内存(free)
查看磁盘(df)
查看cpu占用率(top)
查看内核版本(uname)uname命令用于查看系统内核与系统版本等信息, windows是systeminfocat命令用于查看纯文本文件(内容较少的)more命令用于查看纯文本文件(内容较多的)less查看课后退

ls命令  list 列出指定目录下的内容

pwd命令   printing working directory 显示当前工作目录

cd 命令  change directory 切换目录

cp命令 copy 用于复制源文件或者目录到

-f:强制覆盖目标文件;

-r, -R:递归复制目录;

mkdir命令  创建目录make directories

rm    删除命令remove   ls删除前可以用来看下

-r  将参数中列出的全部目录和子目录均递归地删除

注意:删除命令是一个非常危险的操作,所有不用的文件建议不要直接删除,而是移动至某个专用目录;(模拟回收站),过段时间后,非常明确肯定不要了再删除。

权限

(1)user (2)group (3)others三种身份啦! 那么我们就可以藉由u, g, o来代表三种身份的权限! a 则代表 all 亦即全部的身份!

加权限

#  touch test1    // 创建 test1 文件
# ls -al test1    // 查看 test1 默认权限
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1
# chmod u=rwx,g=rx,o=r  test1    // 修改 test1 权限
# ls -al test1
-rwxr-xr-- 1 root root 0 Nov 15 10:32 test1

减去权限:

<span style="color:#880000">#  chmod  a-x test1</span>

关机

shutdnow -h -now马上关机   shutdnow  +30   :30分钟后关机

文本查看类命令

cat命令  concatenate查看文本文件内容

tac与cat命令刚好相反,文件内容从最后一行开始显示,可以看出 tac 是 cat 的倒着写!

less命令   翻屏查看文件

less file

more命令  从头到尾查看文件,不可以回头,不是很好用

  • less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
  • head 只看头几行
  • tail 只看尾巴几行

head命令   显示文件的前n行,默认是显示前十行

语法格式:head [参数]… [文件]…

-c<字节> 显示字节数。  head  -c 50 /etc/rc.d/init.d/functions 显示前50字节,要是改为-50.则显示文件后50字节。

-n<行数> 显示的行数。显示文件的前50行:head  -50 /etc/rc.d/init.d/functions

 stat命令:显示文件和文件的系统熟性,包括文件名,大小,时间戳等信息,通俗地说就像我们看到windows右键,文件属性看到的信息类似。

网络相关类

ifconfig  或ip addr list  查看活动接口的ip地址

ss命令  ss是Socket Statistics的缩写。顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。

例如查看22端口状态 :ss  -tnl

搜索和查询类

file命令  查看文件内容类型

type命令  判断一个命令是外部命令还是内部命令

语法格式 type  COMMAND

help命令 用于shell内部命令的帮助信息

语法格式 help COMMAND

man  命令   帮助手册

语法格式 man COMMAND

tty  显示当前终端   虚拟终端tty,centos7启动后默认有6个tty1–tty6,alt+F1-F6键切换

伪终端是pty

echo命令  打印或输出内容,查询变量值,常用于编程

第二部分

文件管理类命令大全

1.  mkdir – make directories,创建目录

2.  rmdir – remove empty directories, 删除空目录,非空则无法删除  鸡肋

3. mv – move,移动或重命名文件

6. rm – remove,删除文件或目录

权限管理

r(read):可读取 w(write):可写入 x(execute):可执行     r:4 w:2 x:1

更改属主属组权限命令

chown:改变文件所属的用户组。

chgrp:改变文件的所有者。

chmod:改变文件的权限。

三种身份用user=u;group=g;others=o

1、chmod a=rwx
2、chmod g=rwx,u=rwx,a=rwx
3、chmod g+w,o+w

正则表达式小白读本

正则表达式分两类

  • 基本正则表达式
  • 扩展正则表达式(正则表达式的优化版,元字符的表达更简洁,更方便。)

在Linux中,正则表达式通常会配合文本过滤工具grep使用。 grep的功能强大,且简单粗暴。

shell脚本使用入门

1、编程基础

  • 程序:指令+数据   算法+数据结构
  • 程序编程风格:

                        过程式:以指令为中心,数据服务于指令

对象式:以数据为中心,指令服务于数据

  • shell程序:提供了编程能力,解释执行

2、程序的执行方式

  • 计算机:运行二进制指令
  • 编程语言:

低级:汇编

高级:

编译:高级语言– >编译器–> 目标代码

C,C++,C#,Go

解释:高级语言–> 解释器–> 机器代码

shell,perl , python , JAVA

JavaScript , ruby ,PHP

3、编程基本概念

  • 编程逻辑处理方式:

顺序执行

循环执行

  • shell编程 :过程式、解释执行

编程语言的基本结构:

各种系统命令的组合

数据存储:变量、数组

表达式:a+b

语句:if

4、shell脚本基础

  • shell脚本:

包含一些命令或声明,并符合一定格式的文本文件

  • 格式要求:首行shebang机制

#!/bin/bash

# ! /usr/bin/python

#!/usr/bin/perl

  • shell脚本的用途有:

>   自动化常用命令

>   执行系统管理和故障排除

>   创建简单的应用程序

>   处理文本或文件

  • 强类型:变量不经过强制转换,它永远是这个数据类型,不允许隐式的类型转换。一般定义变量时必须指定类型参与运算必须符合类型要求;调用未声明变量会产生错误     如  java,c#
  • 弱类型:语言的运行时会隐式做数据类型转换。无须指定类型,默认均为字符型;

参与运算会自动进行隐式类型转换;变量无须事先定义可直接调用  python

Linux包管理:rpm/yum/编译安装

程序包管理器:

将编译好的应用程序的各个组成文件打包成一个或几个程序包文件,从而更方便地实现程序包的安装、升级、卸载和查询等管理操作

磁盘分区

优点:

1、隔离系统和程序  安全

2、安装多个0S

3、提高修复速度

4、实现磁盘空间配额限制

5、优化I/O性能

网络基础知识详解


以太网的网络接头:分为交叉和直连RJ-45,又因为每条芯线的对应不同,而分为568A和568B接头,这两款芯线内部的顺序为:

补脑:Dos 攻击 Ping –f 10.1.250.95 –s 65507泛洪  发送大量数据包给该ip,查看网卡利用率会很高,DDOS 成千上万台计算机给指定计算机发送大量数据包

 ARP网络地址解析协议        RARP反向网络地址解析协议

当我们想要了解某个IP配置于哪张以太网卡上面,我们主机会对整个局域网发送出ARP数据包,对方接收到ARP数据包后就会返回他们的MAC给我们,知道对方的网卡地址后就可以传递数据了,当ARP协议取得目标IP与它的网卡卡号后,就会将其记录到ARPtable(内存中)中记录20分钟,linux中对应命令 arp –n.

ACK:为1代表这人数据包为响应数据包。

SYN:为1代表发送端希望双方建立同步连接,表示主动连接对方

FIN:为1代表传送结束。

192.168.0.0/255.255.255.0就是属于网络地址,

192.168.0.255/255.255.255.0 就属于广播地址

Host_ID同时为0表示网络地址(Network_IP)

Net_ID同时为1表示广播地址(BroadcastIP)

IPV4中两种IP类别:

Public IP:公共IP,经由InterNIC统一规划的IP,只有这种IP才可链接到Internet

Private IP:私有IP或保留IP,不能直接连上Internet的IP,主要用于局域网络内的主机链接规划

私有IP网段:

Class A:10.0.0.0/8~10.255.255.255/8      移动

Class B:172.16.0.0/16~172.31.255.255/16    CIDR格式:172.16.0.0/12   学校

Class C:192.168.0.0/24~192.168.255.255/24  CIDR格式:192.168.0.0/16  家里

由于这三段Class的IP是预留使用的,所以并不能直接作为Internet上面的连接使用,否则会导致到处都有相同的IP。

IP地址,子网掩码,默认网关,DNS服务器详解

A.B.C.D/n,表示32位IP地址的前n位与A.B.C.D的前n位相同。比如192.168.1.0/24,所有前24位与192.168.1.0相同的都是这个网段的IP,由于IP地址8位一分组,24位就是前三段,也就是192.168.1.x。符合规范的这段连续的IP段就叫做一个子网。这种子网的表示方法叫做CIDR。

路由的功能:跨网络通信时选择传输路径。(网关)    路由器(router):可以转发不是发给自己的 IP 包的设备

网关必须和ip在同一个网段

答:这个认知其实是不成立的,我觉得这更多的是一种误解。

网关没必要和你的IP在一个子网。和你IP在同一个子网只会是下一跳路由

马哥:linux云计算从入门到精通笔记相关推荐

  1. (一)mysql 运维基础篇(Linux云计算从入门到精通)

    学习预览: (一)mysql 运维基础篇(Linux云计算从入门到精通) (二)mysql 索引和视图(数据库运维基础补充) (三)mysql 触发器.存储过程和函数(数据库运维基础补充) (四)My ...

  2. 马哥linux运维15~25讲笔记(未更完)

    # 15至24讲主要是:管理及io重定向.Grep及正则表达式.egrep及扩展正则表达式.bash编程脚本之变量变量类型.条件判断.条件判断及算术运算.整数测试及特殊变量.sed命令.字符串测试及f ...

  3. 马哥-Linux云计算架构班学习计划

    就业班的课 总共147节课 计划每天保质保量的学2节课 计划用73.5天学完 稍微加快点进度计划花2个月的时间学完 架构班的课 总共143节课 计划每天保质保量的学2节课计划用71.5天学完 稍微加快 ...

  4. linux mysql jdk路径_教大家在如何Centos7系统中安装JDK、Tomcat、Mysql(文末附马哥linux全套视频教......

    目录1.jdk的安装 2.tomcat的安装 3.mysql的安装 远程工具:SSH Secure File Transfer Client 远程工具的使用 下载地址:https://pan.baid ...

  5. 马哥 mysql教学笔记_【马哥linux学员学习笔记】MySQL多实例详解

    本文作者系马哥linux学员云中鹤. 学习联系QQ:1660809109.1661815153.2813150558 马哥Linux运维 更多资讯:www.magedu.com 目录 一.基本概念 1 ...

  6. 《Linux指令从入门到精通》——4.3 Linux下全屏幕文本编辑器的命令行方式

    本节书摘来自异步社区<Linux指令从入门到精通>一书中的第4章,第4.3节,作者:宋磊 , 宋馥莉 , 雷文利著,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  7. 《Linux指令从入门到精通》——4.2 Linux下的简单文字模式文本编辑器

    本节书摘来自异步社区<Linux指令从入门到精通>一书中的第4章,第4.2节,作者:宋磊 , 宋馥莉 , 雷文利著,更多章节内容可以访问云栖社区"异步社区"公众号查看 ...

  8. Linux教程从入门到精通

    为什么80%的码农都做不了架构师?>>>    Linux教程从入门到精通 Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linu ...

  9. Linux开发从入门到精通——基础篇 :1、计算机常识、Linux操作系统和文件系统介绍

    Linux开发从入门到精通--基础篇 :1.计算机常识.Linux操作系统和文件系统介绍

最新文章

  1. 用easyui动态创建一个对话框
  2. MySQL 5.7 密码策略
  3. Golang sync.Map原理
  4. 【MySQL】mysql 远程连接111
  5. 顶级c程序员之路 基础篇 - 第一章 关键字的深度理解 number-1
  6. [html] 写一个搜索框,聚焦时搜索框向左拉长并有动画效果
  7. python变量类型之间转换_Python常用数据类型之间的转换总结
  8. 【Python-2.7】列表与元组
  9. kotlin中文开发文档+视频教程+Android Studio 3.0下载地址
  10. [Mac]图像处理JPEG工具箱jpegtbx_1.4的MATLAB编译及使用
  11. Gamemaker小课堂#0 如何为 Windows 游戏编写 DLL 扩展
  12. vue3中v-on 、v-model与v-for和v-bind
  13. 二叉树的遍历-先序遍历、中序遍历、后序遍历
  14. PB连接SQLServer数据库
  15. 视网膜竞争(双目竞争)现象
  16. (Java)通讯录的实现
  17. numpy_eye函数
  18. 女孩子取名起名字:寄托希望、字字用心的女孩名字
  19. 美军派网络部队前往韩国 防“萨德”泄密
  20. 原百度COO叶朋否认加盟腾讯搜搜

热门文章

  1. 【技巧】去掉RedisDesktopManager更新提示弹窗
  2. 安装GaussView教程-提供GaussView 5.0.9-x64_linux文件
  3. Linux系统下adb驱动安装步骤 及 问题总结
  4. 最新免费dede采集方法大全
  5. 8188gu驱动和su realtek_Realtek全系列官方网卡驱动
  6. SpringMVC与structs2区别
  7. Windows 对全屏应用的优化
  8. 在 Windows 10 中通过命令提示符或控制面板启用 Telnet
  9. 用友优普超客营销助恩普特打造营销管理利器
  10. ajax图片上传插件demo,jQuery 自制上传头像插件-附带Demo实例(ajaxfileupload.js第三弹)...