Skip to main content

Linux 运维知识

· 4 min read

Linux 运维涉及广泛的系统管理、网络配置、安全维护和自动化工具等知识。以下是 Linux 运维的核心知识点分类整理,适用于日常工作、故障排查和性能优化:


一、Linux 基础操作

1. 文件与目录管理

  • 常用命令:ls, cd, mkdir, rm, cp, mv, find, tar, gzip, rsync
  • 权限管理:chmod, chown, umask, ACL(访问控制列表)
  • 文件查找:find, locate, whereis, which

2. 文本处理

  • 查看与编辑:cat, less, more, tail-f 实时跟踪日志), head, vim, nano
  • 文本处理工具:grep, sed, awk, cut, sort, uniq, wc
  • 日志分析:journalctl(systemd 日志), grep -i "error" /var/log/messages

3. 用户与权限

  • 用户管理:useradd, usermod, passwd, userdel
  • 组管理:groupadd, groupmod, gpasswd
  • 权限管理:sudo, visudo, su(切换用户)

4. 包管理

  • Debian/Ubuntu: apt, apt-get, dpkg
  • RHEL/CentOS: yum, dnf, rpm
  • Arch Linux: pacman
  • 通用工具: snap, flatpak

二、系统管理与监控

1. 进程管理

  • 查看进程:ps, top, htop, pstree
  • 进程控制:kill, killall, pkill, nohup(后台运行)
  • 系统资源:free(内存), vmstat, iostat, sar(Sysstat 工具包)

2. 系统服务管理

  • Systemd: systemctl start/stop/restart/enable/disable, systemctl status, journalctl
  • SysVinit: service, chkconfig(旧版 Linux)

3. 磁盘与存储

  • 磁盘管理:fdisk, parted, lsblk, blkid
  • 文件系统:mkfs, mount, umount, df, du
  • LVM(逻辑卷管理):pvcreate, vgcreate, lvcreate, lvextend
  • 磁盘性能:iotop, dd, hdparm

4. 网络管理

  • 网络配置:ifconfig(旧版), ip, nmcli(NetworkManager)
  • 网络诊断:ping, traceroute, mtr, netstat, ss, tcpdump, nmap
  • 防火墙:iptables(旧版), firewalld, ufw(Ubuntu)
  • SSH:ssh, scp, ssh-keygen, ~/.ssh/config

三、安全与维护

1. 系统安全

  • 用户权限:sudo, visudo, su -(安全切换)
  • SELinux/AppArmor:getenforce, setenforce, semanage
  • 安全审计:auditd, fail2ban(防暴力破解)
  • 证书管理:openssl, certbot(Let’s Encrypt)

2. 日志分析

  • 系统日志:/var/log/messages, /var/log/syslog, /var/log/auth.log
  • 服务日志:journalctl, dmesg(内核日志)
  • 日志轮转:logrotate

3. 备份与恢复

  • 文件备份:rsync, tar, scp
  • 数据库备份:mysqldump, pg_dump
  • 增量备份:rsync --backup, duplicity, BorgBackup

四、Shell 脚本与自动化

1. Shell 编程

  • 基础语法:变量、循环、条件判断(if, case
  • 脚本调试:set -x, bash -x script.sh
  • 定时任务:crontab -e, at(单次任务)

2. 自动化工具

  • Ansible:无 Agent 自动化配置(YAML 语法)
  • Shell 脚本:结合 awk/sed 处理文本
  • CI/CD:Jenkins, GitLab CI, GitHub Actions

五、常见服务管理

1. Web 服务

  • Nginx/Apache:配置虚拟主机、HTTPS、反向代理
  • 负载均衡Nginx, HAProxy, Keepalived
  • 缓存Redis, Memcached

2. 数据库管理

  • MySQL/MariaDBmysqldump, mysqladmin, 主从复制
  • PostgreSQLpg_dump, pg_restore, 流复制
  • NoSQLMongoDB, Redis

3. 容器化与编排

  • Dockerdocker run, docker-compose, 镜像管理
  • Kuberneteskubectl, Helm, Minikube(本地测试)

六、性能优化

  • CPUtop, mpstat, perf
  • 内存free -m, vmstat, OOM Killer 分析
  • I/Oiostat, iotop, fio(磁盘基准测试)
  • 网络iftop, nethogs, iperf3

七、故障排查

  1. 系统启动问题dmesg, journalctl -xb
  2. 服务崩溃strace, lsof
  3. 网络问题tcpdump, netstat -tulnp
  4. 磁盘满df -h, du -sh *

总结

Linux 运维的核心知识涵盖:

  • 基础操作(文件、用户、权限)
  • 系统管理(进程、服务、磁盘)
  • 网络配置(防火墙、SSH、TCP/IP)
  • 安全维护(日志、备份、SELinux)
  • 自动化与脚本(Shell、Ansible)
  • 性能优化与故障排查

掌握这些技能后,可以胜任日常服务器管理、应用部署、安全加固和性能调优等工作。持续关注新技术(如云原生、K8s)能进一步提升竞争力。