Linux 从基础操作到故障排查

目录

前言

对于运维工程师来说,Linux 是日常工作中接触最多的操作系统。

无论是 Web 服务、数据库、中间件,还是容器平台和云服务器,大部分生产环境都运行在 Linux 系统之上。

很多刚入行的同学学习 Linux 时,往往会陷入一个误区:把大量时间花在记忆命令上,却忽略了命令背后的应用场景。

实际上,运维学习 Linux 的核心目标并不是背会多少命令,而是能够利用这些工具快速定位和解决问题。

本文从运维工作的实际需求出发,梳理 Linux 学习路线以及常见运维场景中的应用方法。


一、Linux 运维需要掌握哪些内容

从运维岗位角度来看,Linux 主要可以分为以下几个部分。

模块 学习内容 目标
文件管理 文件、目录操作 熟悉系统环境
用户权限 用户、用户组、权限控制 保证系统安全
文本处理 日志分析、配置修改 快速定位问题
进程管理 服务运行状态管理 处理程序异常
系统监控 CPU、内存、磁盘监控 分析性能问题
网络管理 网络连通性排查 解决访问异常
软件管理 软件安装与升级 部署运行环境
Shell脚本 自动化运维 提高工作效率

二、文件与目录管理

文件管理是 Linux 学习的第一步。

运维日常工作中经常需要:

  • 查找配置文件
  • 查看日志文件
  • 备份数据
  • 修改配置

常用命令如下:

命令 作用
ls 查看目录内容
cd 切换目录
pwd 查看当前路径
mkdir 创建目录
cp 复制文件
mv 移动或重命名
rm 删除文件
find 查找文件

例如查找 Nginx 配置文件:

bash 复制代码
find / -name nginx.conf

查找最近 7 天修改过的日志文件:

bash 复制代码
find /var/log -mtime -7

三、用户与权限管理

Linux 是多用户操作系统。

合理的权限管理能够降低误操作风险。

权限管理主要涉及:

  • 用户
  • 用户组
  • 文件权限

常用命令:

命令 作用
useradd 创建用户
passwd 设置密码
usermod 修改用户
chmod 修改权限
chown 修改归属用户
chgrp 修改用户组

例如:

bash 复制代码
chmod 755 test.sh

赋予脚本执行权限。

查看文件权限:

bash 复制代码
ls -l

输出示例:

text 复制代码
-rwxr-xr-x

其中:

  • r:读取权限
  • w:写入权限
  • x:执行权限

四、日志分析与文本处理

日志是运维排查故障的重要依据。

大部分线上问题都可以通过日志快速定位。

常见命令:

命令 用途
cat 查看文件内容
less 分页查看
tail 查看文件尾部
grep 搜索关键字
sed 文本替换
awk 数据提取

查看实时日志:

bash 复制代码
tail -f app.log

搜索错误信息:

bash 复制代码
grep ERROR app.log

统计访问 IP:

bash 复制代码
awk '{print $1}' access.log | sort | uniq -c

五、进程与服务管理

在 Linux 中,所有运行中的程序都属于进程。

运维人员需要掌握进程状态查看和服务管理方法。

常用命令:

命令 作用
ps 查看进程
top 查看系统资源
htop 增强版监控工具
kill 结束进程
pkill 按名称结束进程
systemctl 管理服务

查看 Nginx 进程:

bash 复制代码
ps aux | grep nginx

结束异常进程:

bash 复制代码
kill -9 PID

重启服务:

bash 复制代码
systemctl restart nginx

六、系统资源监控

当服务器出现卡顿、响应慢等问题时,需要先分析系统资源使用情况。

常见监控指标如下:

指标 检查命令
CPU top
内存 free -h
磁盘空间 df -h
目录占用 du -sh
系统负载 uptime
IO性能 iostat

查看磁盘空间:

bash 复制代码
df -h

查看目录大小:

bash 复制代码
du -sh /var/log/*

查看系统负载:

bash 复制代码
uptime

七、网络故障排查

网络问题是运维工作中最常见的问题之一。

常用排查工具:

工具 用途
ping 测试连通性
traceroute 查看路由路径
curl 测试HTTP服务
wget 下载测试
netstat 查看端口
ss 查看连接状态
lsof 查看端口占用

查看 80 端口监听情况:

bash 复制代码
ss -tunlp | grep 80

测试接口状态:

bash 复制代码
curl -I https://example.com

查看端口占用:

bash 复制代码
lsof -i:8080

八、软件包管理

不同 Linux 发行版使用不同的软件管理工具。

CentOS / Rocky Linux

bash 复制代码
yum install nginx

或:

bash 复制代码
dnf install nginx

Ubuntu / Debian

bash 复制代码
apt update
apt install nginx

查看已安装软件:

bash 复制代码
rpm -qa

或:

bash 复制代码
dpkg -l

九、Shell 自动化运维

随着服务器数量增加,手工操作效率会越来越低。

此时需要利用 Shell 脚本实现自动化。

典型场景包括:

  • 自动巡检
  • 自动备份
  • 自动清理日志
  • 自动告警
  • 批量部署

例如数据库备份脚本:

bash 复制代码
#!/bin/bash

DATE=$(date +%F)

mysqldump -uroot -p123456 testdb > /backup/${DATE}.sql

结合 Crontab 实现定时执行:

bash 复制代码
crontab -e

每天凌晨 2 点执行:

bash 复制代码
0 2 * * * /bin/bash /opt/backup.sh

十、典型故障排查案例

案例一:网站无法访问

排查步骤:

步骤 检查内容
1 域名是否解析正常
2 网络是否连通
3 服务是否启动
4 端口是否监听
5 日志是否报错

常用命令:

bash 复制代码
ping 域名
curl -I 域名
ss -tunlp
tail -f 日志文件

案例二:服务器负载过高

排查思路:

text 复制代码
查看负载
↓
查看CPU
↓
查看内存
↓
查看磁盘IO
↓
定位异常进程

常用命令:

bash 复制代码
top
ps aux
iostat
free -h

案例三:磁盘空间告警

查看磁盘:

bash 复制代码
df -h

定位大目录:

bash 复制代码
du -sh /*

进一步定位:

bash 复制代码
find / -type f -size +500M

常见原因:

  • 日志未清理
  • 数据库文件增长
  • 备份文件堆积
  • Docker镜像占满空间

总结

Linux 是运维工程师最重要的基础技能之一。

学习 Linux 时不必执着于记忆所有命令,而应该重点培养以下能力:

  1. 熟悉系统基本操作
  2. 学会查看日志
  3. 掌握资源监控方法
  4. 能够排查网络问题
  5. 具备基础自动化能力
  6. 建立完整的故障排查思路

对于运维人员来说,真正的核心竞争力不是会多少命令,而是在面对故障时,能够快速定位问题并解决问题。

相关推荐
翼龙云_cloud1 小时前
阿里云代理商:2026 年阿里云国际版节点怎么选择和优化?
服务器·阿里云·云计算·国际节点
OpsEye1 小时前
MCP会成为AI时代的新中间件吗?
运维·ai·mcp
2301_789015621 小时前
Lnux权限
linux·开发语言·c++·权限
楚枫默寒9 小时前
Linux 编辑文件后自动添加修改日期
linux·运维·bash
折翅鵬9 小时前
Android史诗级网络优化实践总结
android·网络
苦青藤10 小时前
从零搭建 WSUS 隔离网络:完整实战指南(内网离线补丁分发)
运维·windows·microsoft
2601_9611940211 小时前
27考研刘晓艳单词pdf
linux·sql·ubuntu·华为·pdf·.net
2023自学中13 小时前
imx6ull 开发板 推流ov5640数据,虚拟机用 ffplay 拉流播放
linux·音视频·嵌入式·开发板
网安小白的进阶之路13 小时前
B模块 安全通信网络 第二门课IPv6与WLAN 01
网络·安全