Linux 运维知识体系庞大,需结合 “基础认知 – 核心操作 – 架构部署 – 故障保障 – 自动化管理” 的逻辑分层,同时覆盖不同场景(如服务器、云环境、容器化)的运维需求。以下是结构化分类方案:
Linux 运维知识分类(完整版)
一、Linux 基础与系统认知
该模块是运维的核心前提,聚焦 “理解系统本质 + 掌握基础交互”,为后续复杂操作打基础。
- 系统基础概念
- 操作系统原理:内核(Kernel)与用户空间(User Space)的分工、进程 / 线程 / 协程的区别、内存管理(虚拟内存、页表)、文件系统层级(VFS 虚拟文件系统)。
- Linux 发行版差异:主流发行版特性对比(CentOS/RHEL、Ubuntu、Debian、SUSE)、适用场景(服务器首选 CentOS/RHEL,桌面 / 开发首选 Ubuntu)、包管理机制区别(RPM/YUM、DPKG/APT)。
- 系统启动流程:传统 BIOS+MBR 启动(POST→GRUB→内核加载→init 进程)、UEFI+GPT 启动(UEFI 初始化→GRUB2→内核加载→systemd)、启动级别的演变(runlevel 与 systemd target 对应关系)。
- 命令行与 Shell 基础
- 核心 Shell 操作:Bash 语法(变量定义 / 引用、条件判断
if-else
、循环for/while
、函数)、Shell 环境(登录 Shell 与非登录 Shell、/etc/profile
与~/.bashrc
加载顺序)。 - 基础命令集群:
- 文件操作:
ls
(-l/-a/-h
)、cp
(-r/-p
)、mv
、rm
(-rf
风险控制)、touch
、find
(按名称 / 大小 / 时间搜索,结合-exec
执行命令)。 - 文本处理:
cat
/more
/less
(文件查看)、grep
(正则匹配,-i/-v/-n
)、sed
(流编辑,替换 / 删除行)、awk
(字段提取,如awk -F ',' '{print $2}'
)。 - 系统信息:
uname
(-r
内核版本、-m
架构)、hostname
、whoami
、id
(用户权限信息)、df
/du
(磁盘空间,-h
人性化显示)。
- 文件操作:
- 核心 Shell 操作:Bash 语法(变量定义 / 引用、条件判断
- 用户与权限管理
- 用户 / 组操作:
useradd
/userdel
(创建 / 删除用户)、groupadd
/groupdel
(组管理)、passwd
(密码设置,-l
锁定、-u
解锁)、usermod
(修改用户属性,如附加组-G
)。 - 权限控制:文件权限(
rwx
读 / 写 / 执行,数字表示755
/644
)、目录权限(x
权限决定是否可进入)、特殊权限(SUID:执行时获所有者权限,如passwd
;SGID:继承组权限;Sticky Bit:仅所有者删文件,如/tmp
)、ACL 权限(setfacl
/getfacl
,精细控制单个用户权限)。
- 用户 / 组操作:
二、系统核心运维操作
该模块是日常运维的 “高频工作区”,覆盖系统资源、软件、存储、网络的核心管理能力。
- 进程与资源管理
- 进程监控:
ps
(ps aux
查看所有进程、ps -ef
查看进程树)、top
/htop
(实时监控 CPU / 内存 / 进程占用,排序与筛选)、pstree
(进程树展示父进程关系)。 - 进程控制:
kill
(发送信号,-9
强制终止、-15
正常终止)、killall
(按进程名批量终止)、pkill
(按条件筛选终止,如pkill -u test
终止 test 用户进程)。 - 资源限制:
ulimit
(临时设置进程资源上限,如ulimit -n 65535
调整最大文件句柄数)、/etc/security/limits.conf
(永久配置用户 / 进程资源限制)。
- 进程监控:
- 软件与包管理
- RPM/YUM 管理(CentOS/RHEL):
rpm -ivh
(安装)、rpm -e
(卸载)、rpm -qa
(查询已装包);yum install
/yum remove
(自动解决依赖)、yum makecache
(生成缓存)、yum repo-list
(查看仓库)、自定义 YUM 源(本地 ISO 挂载或内网仓库)。 - DPKG/APT 管理(Ubuntu/Debian):
dpkg -i
(安装)、dpkg -r
(卸载);apt update
(更新仓库索引)、apt install
(安装带依赖)、apt autoremove
(清理无用依赖)。 - 源码编译安装:流程(
./configure
(指定安装路径--prefix
)→make
(编译)→make install
(安装))、依赖解决(如安装gcc
/make
/openssl-devel
等开发包)、示例(Nginx/Redis 源码安装)。
- RPM/YUM 管理(CentOS/RHEL):
- 存储与文件系统管理
- 磁盘分区:
fdisk
(MBR 分区,支持≤2TB 磁盘)、parted
(GPT 分区,支持>2TB 磁盘)、分区类型(主分区 / 扩展分区 / 逻辑分区)。 - 文件系统操作:
- 创建与挂载:
mkfs
(创建文件系统,如mkfs.xfs
/mkfs.ext4
)、mount
(临时挂载,-t
指定类型、-o
设置选项如ro
只读)、/etc/fstab
(永久挂载配置,格式:设备路径 挂载点 类型 选项 0 0
)。 - 逻辑卷(LVM):动态调整磁盘空间,核心操作(
pvcreate
创建物理卷→vgcreate
创建卷组→lvcreate
创建逻辑卷→mkfs
格式化→挂载)、扩展 / 缩减逻辑卷(lvextend
/lvreduce
+ 文件系统扩容xfs_growfs
/resize2fs
)。
- 创建与挂载:
- 磁盘监控:
smartctl
(检查磁盘健康状态,smartctl -a /dev/sda
)、iostat
(监控磁盘 I/O 使用率,iostat -x 1
每秒刷新)。
- 磁盘分区:
- 网络配置与管理
- 网络基础配置:
ip
命令(替代ifconfig
,ip addr
查看网卡、ip link set eth0 up
启动网卡、ip route
查看路由)、/etc/sysconfig/network-scripts/ifcfg-eth0
(CentOS 固定 IP 配置,BOOTPROTO=static
、IPADDR
/NETMASK
/GATEWAY
)、/etc/netplan/
(Ubuntu 固定 IP 配置,YAML 格式)。 - 网络服务与工具:
- 服务管理:
systemctl start/stop/enable/disable network
(CentOS)、systemctl start/stop/enable/disable networking
(Ubuntu)。 - 网络诊断:
ping
(连通性测试)、traceroute
/mtr
(路由追踪)、telnet
/nc
(端口测试,nc -zv 192.168.1.1 80
)、tcpdump
(抓包分析,tcpdump -i eth0 port 80
)、netstat
/ss
(查看端口占用,ss -tulnp | grep 80
)。
- 服务管理:
- 防火墙配置:
firewalld
(CentOS 7+,firewall-cmd --add-port=80/tcp --permanent
开放端口、firewall-cmd --reload
重载)、ufw
(Ubuntu,ufw allow 22/tcp
开放 SSH 端口)、iptables
(底层防火墙规则,如iptables -A INPUT -p tcp --dport 80 -j ACCEPT
)。
- 网络基础配置:
三、服务部署与架构运维
该模块聚焦 “业务支撑”,覆盖 Linux 环境下常见中间件、Web 服务、数据库的部署与管理,以及高可用架构设计。
- 常用服务部署
- Web 服务:Nginx(编译安装 /yum 安装、配置虚拟主机、反向代理、负载均衡、SSL 证书配置)、Apache(
httpd
服务管理、虚拟目录配置)。 - 中间件服务:Tomcat(JDK 依赖配置、服务启停脚本、端口修改、集群部署)、Redis(单机部署、配置文件优化、持久化(RDB/AOF)、主从复制、哨兵模式)、RabbitMQ(Erlang 依赖安装、服务启动、用户权限配置、队列管理)。
- 数据库服务:MySQL(源码安装 /
mariadb-server
yum 安装、my.cnf
配置优化(内存、连接数)、主从复制(基于 binlog)、权限管理(grant
授权))、PostgreSQL(yum 安装、数据库创建、远程访问配置)。 - 其他基础服务:NFS(网络文件共享,
exports
配置共享目录、mount -t nfs
客户端挂载)、FTP(vsftpd
服务,匿名用户 / 本地用户配置、权限控制)、SSH(sshd_config
优化,禁用 root 登录、修改默认端口、密钥登录配置)。
- Web 服务:Nginx(编译安装 /yum 安装、配置虚拟主机、反向代理、负载均衡、SSL 证书配置)、Apache(
- 高可用与集群架构
- 双机热备(HA):Keepalived(基于 VRRP 协议,配置虚拟 IP(VIP)、主从节点切换、健康检查脚本)、Heartbeat(早期 HA 工具,资源接管配置)。
- 负载均衡集群:LVS(Linux 虚拟服务器,三种模式:DR 直接路由、NAT 网络地址转换、TUN 隧道,结合 Keepalived 实现高可用)、Nginx Plus(商业版,支持会话保持、健康检查)。
- 容器化与编排:Docker(安装与基础命令(
pull
/run
/build
)、镜像管理、容器网络(bridge/host)、数据卷(Volume)挂载)、Docker Compose(单主机多容器编排,YAML 配置文件)、Kubernetes 基础(Minikube 单机部署、Pod/Service/Deployment 核心资源管理)。
四、监控与故障排查
该模块是 “系统稳定性保障” 的核心,覆盖全链路监控体系搭建与常见故障的定位方法。
- 监控体系搭建
- 基础监控工具:
nmon
(系统资源实时监控,CPU / 内存 / 磁盘 / I/O 可视化)、sar
(历史资源统计,sar -u 1 5
查看 CPU 使用率、sar -r
查看内存)、zabbix
(企业级监控,Agent 客户端部署、监控项配置(CPU / 磁盘 / 端口)、触发器与告警(邮件 / 短信)、自定义监控脚本(如应用存活检查))、Prometheus+Grafana
(时序数据监控,Exporter(node_exporter/nginx_exporter)部署、 Grafana 仪表盘配置、告警规则设置)。 - 日志监控:ELK Stack(Elasticsearch 存储日志、Logstash 收集与过滤日志(如 Nginx 访问日志)、Kibana 可视化查询)、
rsyslog
(日志集中收集,配置客户端发送日志到服务端)、journalctl
(systemd 日志查看,journalctl -u nginx
查看 Nginx 服务日志、journalctl --since "1 hour ago"
查看 1 小时内日志)。
- 基础监控工具:
- 故障排查方法论
- 故障分类与排查流程:
- 系统类故障:无法启动(检查 GRUB 配置、
/etc/fstab
错误、initramfs 修复)、死机 / 卡顿(top
看 CPU / 内存占用、dmesg
查内核报错、vmstat
看 IO 等待)。 - 网络类故障:无法联网(
ip addr
看网卡状态、ping
网关 / DNS、traceroute
查路由中断点)、端口不通(ss
看端口是否监听、firewall-cmd
看防火墙规则、tcpdump
抓包看请求是否到达)。 - 服务类故障:服务启动失败(
systemctl status 服务名
看状态、查看服务日志定位错误(如 Nginx 日志/var/log/nginx/error.log
)、依赖检查(如 Tomcat 依赖 JDK))、服务性能差(top
看服务进程资源占用、iostat
看 IO 瓶颈、strace
跟踪系统调用(strace -p 进程ID
))。
- 系统类故障:无法启动(检查 GRUB 配置、
- 核心排查工具:
dmesg
(内核日志,查硬件 / 驱动错误)、strace
(跟踪进程系统调用,定位文件 / 权限问题)、ltrace
(跟踪进程库函数调用)、gdb
(调试 C/C++ 程序崩溃问题)。
- 故障分类与排查流程:
五、自动化与运维工程化
该模块聚焦 “效率提升”,通过脚本、工具、平台实现运维自动化,减少重复操作,降低人为失误。
- Shell 脚本开发
- 脚本实战场景:系统初始化脚本(安装基础工具、关闭 SELinux、配置防火墙、优化内核参数)、批量操作脚本(批量创建用户(结合
for
循环)、批量部署服务(结合sshpass
免密执行)、日志清理脚本(find
删除 7 天前日志)、服务监控脚本(检查服务存活,挂掉则重启并告警)。 - 脚本规范:脚本开头
#!/bin/bash
、注释说明功能 / 作者 / 日期、变量定义(如LOG_PATH="/var/log"
)、错误处理(set -e
遇到错误退出、if
判断命令执行结果)。
- 脚本实战场景:系统初始化脚本(安装基础工具、关闭 SELinux、配置防火墙、优化内核参数)、批量操作脚本(批量创建用户(结合
- 自动化运维工具
- 批量管理工具:Ansible(无 Agent 架构,基于 SSH,Playbook 编写(YAML 格式),实现批量安装服务、配置文件推送、命令执行,如批量部署 Nginx Playbook)、SaltStack(C/S 架构,Minion 客户端部署,State 文件定义状态,支持实时执行与定时任务)。
- 配置管理:Puppet(C/S 架构,Manifest 文件(Ruby 语法)定义节点配置,适合大规模节点统一管理)、Chef(基于 Ruby,Cookbook 封装配置逻辑)。
- 系统优化与安全加固
- 内核参数优化:
/etc/sysctl.conf
配置(网络优化:net.core.somaxconn=65535
(最大监听队列)、net.ipv4.tcp_tw_reuse=1
(复用 TIME_WAIT 连接);内存优化:vm.swappiness=10
(减少 Swap 使用);文件句柄:fs.file-max=655350
),配置后sysctl -p
生效。 - 安全加固:关闭不必要服务(
systemctl disable postfix
)、禁用 SELinux(/etc/selinux/config
设为SELINUX=disabled
,重启生效)、定期更新系统(yum update -y
)、使用fail2ban
防御 SSH 暴力破解(监控/var/log/secure
,多次失败则封禁 IP)、敏感文件权限控制(chmod 600 /etc/shadow
、chmod 700 /root
)。
- 内核参数优化:
六、专项场景运维
针对特定 Linux 运维场景的深度知识,覆盖云环境、大数据、安全合规等领域。
- 云环境 Linux 运维
- 云服务器操作:AWS EC2/Azure VM / 阿里云 ECS(实例创建、安全组配置(对应 Linux 防火墙)、弹性 IP 绑定、云盘挂载(类似本地磁盘
fdisk
/mount
))。 - 云原生适配:容器镜像优化(减小镜像体积,如 Alpine 基础镜像)、云存储集成(阿里云 OSS 挂载为本地目录、AWS S3 客户端配置)、云监控集成(对接云厂商监控平台,如阿里云云监控 Agent)。
- 云服务器操作:AWS EC2/Azure VM / 阿里云 ECS(实例创建、安全组配置(对应 Linux 防火墙)、弹性 IP 绑定、云盘挂载(类似本地磁盘
- 大数据与 AI 环境运维
- 大数据组件部署:Hadoop 集群(HDFS/MapReduce/YARN,基于 Ansible 批量部署、
hdfs dfsadmin
管理 HDFS)、Spark 集群(Standalone/YARN 模式部署、资源配置优化)。 - 环境依赖管理:Python 虚拟环境(
virtualenv
/conda
)、GPU 驱动与 CUDA 安装(适配 AI 训练场景,nvidia-smi
验证)。
- 大数据组件部署:Hadoop 集群(HDFS/MapReduce/YARN,基于 Ansible 批量部署、
- 安全合规运维
- 日志审计:开启系统审计(
auditd
服务,auditctl -a exit,always -F arch=b64 -F path=/usr/bin/passwd
监控 passwd 命令操作)、定期导出审计日志。 - 合规检查:满足等保 2.0 要求(身份鉴别、访问控制、安全审计、数据备份)、使用工具(如 OpenSCAP)进行合规扫描。
- 日志审计:开启系统审计(