Linux 从基础操作到故障排查
前言
对于运维工程师来说,Linux 是日常工作中接触最多的操作系统。
无论是 Web 服务、数据库、中间件,还是容器平台和云服务器,大部分生产环境都运行在 Linux 系统之上。
很多刚入行的同学学习 Linux 时,往往会陷入一个误区:把大量时间花在记忆命令上,却忽略了命令背后的应用场景。
实际上,运维学习 Linux 的核心目标并不是背会多少命令,而是能够利用这些工具快速定位和解决问题。
本文从运维工作的实际需求出发,梳理 Linux 学习路线以及常见运维场景中的应用方法。
一、Linux 运维需要掌握哪些内容
从运维岗位角度来看,Linux 主要可以分为以下几个部分。
二、文件与目录管理
文件管理是 Linux 学习的第一步。
运维日常工作中经常需要:
常用命令如下:
例如查找 Nginx 配置文件:
find / -name nginx.conf
查找最近 7 天修改过的日志文件:
find /var/log -mtime -7
三、用户与权限管理
Linux 是多用户操作系统。
合理的权限管理能够降低误操作风险。
权限管理主要涉及:
常用命令:
例如:
chmod 755 test.sh
赋予脚本执行权限。
查看文件权限:
ls -l
输出示例:
-rwxr-xr-x
其中:
四、日志分析与文本处理
日志是运维排查故障的重要依据。
大部分线上问题都可以通过日志快速定位。
常见命令:
查看实时日志:
tail -f app.log
搜索错误信息:
grep ERROR app.log
统计访问 IP:
awk '{print $1}' access.log | sort | uniq -c
五、进程与服务管理
在 Linux 中,所有运行中的程序都属于进程。
运维人员需要掌握进程状态查看和服务管理方法。
常用命令:
查看 Nginx 进程:
ps aux | grep nginx
结束异常进程:
kill -9 PID
重启服务:
systemctl restart nginx
六、系统资源监控
当服务器出现卡顿、响应慢等问题时,需要先分析系统资源使用情况。
常见监控指标如下:
查看磁盘空间:
df -h
查看目录大小:
du -sh /var/log/*
查看系统负载:
uptime
七、网络故障排查
网络问题是运维工作中最常见的问题之一。
常用排查工具:
查看 80 端口监听情况:
ss -tunlp | grep 80
测试接口状态:
curl -I https://example.com
查看端口占用:
lsof -i:8080
八、软件包管理
不同 Linux 发行版使用不同的软件管理工具。
CentOS / Rocky Linux
yum install nginx
或:
dnf install nginx
Ubuntu / Debian
apt update
apt install nginx
查看已安装软件:
rpm -qa
或:
dpkg -l
九、Shell 自动化运维
随着服务器数量增加,手工操作效率会越来越低。
此时需要利用 Shell 脚本实现自动化。
典型场景包括:
例如数据库备份脚本:
#!/bin/bash
DATE=$(date +%F)
mysqldump -uroot -p123456 testdb > /backup/${DATE}.sql
结合 Crontab 实现定时执行:
crontab -e
每天凌晨 2 点执行:
0 2 * * * /bin/bash /opt/backup.sh
十、典型故障排查案例
案例一:网站无法访问
排查步骤:
常用命令:
ping 域名
curl -I 域名
ss -tunlp
tail -f 日志文件
案例二:服务器负载过高
排查思路:
查看负载
↓
查看CPU
↓
查看内存
↓
查看磁盘IO
↓
定位异常进程
常用命令:
top
ps aux
iostat
free -h
案例三:磁盘空间告警
查看磁盘:
df -h
定位大目录:
du -sh /*
进一步定位:
find / -type f -size +500M
常见原因:
总结
Linux 是运维工程师最重要的基础技能之一。
学习 Linux 时不必执着于记忆所有命令,而应该重点培养以下能力:
对于运维人员来说,真正的核心竞争力不是会多少命令,而是在面对故障时,能够快速定位问题并解决问题。