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/MariaDB:
mysqldump
,mysqladmin
, 主从复制 - PostgreSQL:
pg_dump
,pg_restore
, 流复制 - NoSQL:
MongoDB
,Redis
3. 容器化与编排
- Docker:
docker run
,docker-compose
, 镜像管理 - Kubernetes:
kubectl
,Helm
,Minikube
(本地测试)
六、性能优化
- CPU:
top
,mpstat
,perf
- 内存:
free -m
,vmstat
,OOM Killer
分析 - I/O:
iostat
,iotop
,fio
(磁盘基准测试) - 网络:
iftop
,nethogs
,iperf3
七、故障排查
- 系统启动问题:
dmesg
,journalctl -xb
- 服务崩溃:
strace
,lsof
- 网络问题:
tcpdump
,netstat -tulnp
- 磁盘满:
df -h
,du -sh *
总结
Linux 运维的核心知识涵盖:
- 基础操作(文件、用户、权限)
- 系统管理(进程、服务、磁盘)
- 网络配置(防火墙、SSH、TCP/IP)
- 安全维护(日志、备份、SELinux)
- 自动化与脚本(Shell、Ansible)
- 性能优化与故障排查
掌握这些技能后,可以胜任日常服务器管理、应用部署、安全加固和性能调优等工作。持续关注新技术(如云原生、K8s)能进一步提升竞争力。