**Linux运维(Operations & Maintenance,简称Ops)** 的核心目标是**保障系统稳定、高可用、安全、高效运行**,让业务/应用在Linux服务器上持续可靠地提供服务。 ### 1. Linux运维主要干什么(日常职责) **核心工作范畴**: - **系统管理**:服务器的安装、配置、优化、监控、故障排除。 - **服务/应用部署与维护**:Web服务、数据库、中间件、业务应用等。 - **自动化与效率提升**:写脚本、用Ansible等工具批量管理。 - **安全与合规**:权限控制、漏洞修复、日志审计、备份。 - **性能调优**:排查瓶颈、资源优化。 - **高可用与容灾**:集群、负载均衡、备份恢复。 - **云/容器化运维**(现代趋势):K8s、Docker、云平台(阿里云、AWS、腾讯云等)。 ### 2. 经常做的具体工作(高频任务) 按频率从高到低排序: 1. **日常巡检与监控**(每天必做) - 查看CPU、内存、磁盘、负载(top、htop、free、df、iostat等) - 检查服务状态(systemctl、ps、netstat/ss) - 查看日志(journalctl、tail -f) 2. **故障排查与处理**(最核心能力) - 应用无法访问、502/500、慢、宕机等 - 磁盘满、内存泄漏、进程异常、端口占用、网络丢包等 3. **用户、权限、账号管理** - 添加/删除用户、sudo权限、SSH密钥登录 4. **软件安装与更新** - yum/dnf/apt、编译安装、版本升级 5. **部署与发布** - 拉代码、改配置、重启服务、灰度/蓝绿发布 6. **备份与恢复** - 数据库备份、配置文件备份、系统备份 7. **安全加固** - 关闭不必要端口、改SSH端口、防火墙、Fail2ban、漏洞扫描 8. **性能优化与扩容** - 调内核参数(sysctl)、Nginx/数据库参数、增加资源 9. **自动化运维** - 写Shell/Python脚本、Ansible playbook批量执行 ### 3. 需要掌握的基础知识 **必须扎实的**: - **Linux操作系统原理**:进程、内存、文件系统(inode、ext4/xfs)、权限(rwx、ACL)、启动流程(systemd) - **网络基础**:TCP/IP、OSI模型、常见协议(HTTP、SSH、DNS)、子网划分 - **Shell编程**:变量、循环、判断、函数、正则、管道、重定向 - **常见服务原理**: - Web:Nginx/Apache - 数据库:MySQL/PostgreSQL(主从、备份) - 缓存:Redis - 消息队列:RabbitMQ/Kafka(了解即可) - **安全知识**:防火墙、SELinux/AppArmor、证书、加密 - **版本控制**:Git基本操作 **进阶推荐**: - 容器:Docker + Kubernetes(现在几乎必备) - 配置管理:Ansible - CI/CD:Jenkins/GitLab CI - 监控告警:Prometheus + Grafana + Alertmanager - 日志:ELK(Elasticsearch + Logstash + Kibana)或Loki - 云平台:至少熟悉一种公有云 ### 4. 常用命令(必须熟练) **文件与目录**: - `ls, cd, pwd, mkdir, rm, cp, mv, touch, ln` - `find, locate, grep, xargs` **权限**: - `chmod, chown, chgrp, sudo, su` **进程与服务**: - `ps, top/htop, kill, pkill, nohup, jobs, fg, bg` - `systemctl start/stop/restart/status` **网络**: - `ip addr, ip route, ss -tlnp, netstat` - `ping, telnet, curl, wget, traceroute, tcpdump` - `ssh, scp, rsync` **磁盘与文件**: - `df -h, du -sh, fdisk/lsblk, mount, df` - `cat, tail -f, head, less, more, wc, sort, uniq` **性能**: - `free -h, vmstat, iostat, sar, dmesg` **日志**: - `journalctl -u xxx, tail -f /var/log/xxx.log` **其他**: - `crontab, tar, unzip, yum/dnf/apt, sed, awk` **一键记忆组合**:`ps aux | grep`、`netstat -tlnp | grep`、`df -h | grep`、`tail -f`、`journalctl -xe` 等。 ### 5. 常用工具 / 软件栈 - **必备**:Bash/Zsh + Vim/Neovim、Git、tmux/screen、Ansible - **监控**:htop、iftop、iotop、nmon、Prometheus - **网络**:tcpdump + Wireshark、mtr、nc - **压测**:ab、wrk、JMeter - **容器**:Docker、Podman、Kubernetes(kubectl、helm) - **其他**:jq(JSON处理)、fzf(模糊查找)、ag/rg(高速grep) ### 学习建议路径(从入门到能独立运维) 1. **基础**(1-2个月):Linux基础命令 + Shell脚本 + 网络 2. **核心**(2-3个月):Nginx + MySQL + Redis + 常用服务部署 3. **进阶**(3-6个月):Docker + K8s + Ansible + Prometheus 4. **实战**:搭一套完整环境(LNMP → 微服务),故意制造故障去排查 **推荐资源**: - 书籍:《鸟哥的Linux私房菜》、《Linux性能优化实战》 - 网站:菜鸟教程、Linux中国、运维派 - 实践:在阿里云/腾讯云买最低配服务器自己折腾 Linux运维是一个**“经验+工具+系统性思维”** 结合的岗位,**故障排查能力** 是核心竞争力。多实践、多总结故障案例,你会进步非常快。 如果你是初学者,想看具体某个模块的详细命令/脚本清单(比如Nginx运维、MySQL主从、Ansible示例等),随时告诉我,我可以给你更细的清单!