在日常运维工作中,涉及 Linux 系统的操作占比超过80%。从服务器部署、服务监控到故障排查,运维的几乎每个环节都离不开 Linux 命令行。许多运维工程师常常感到困惑:明明学了不少命令,遇到实际问题时却依然手足无措。这背后的核心原因,往往是知识过于零散,缺乏核心技能点的串联以及在真实场景中的应用。
本文整理了运维工作中使用频率最高、最能解决实际问题的10个 Linux 技能点。它们涵盖了基础命令的深层用法和实用的系统调优技巧,你可以将其视为一份速查手册,在遇到问题时按图索骥。
一、效率基石:3个超实用组合命令,覆盖80%运维场景
1. 文件定位三剑客:find + grep + xargs
这是一个经典的组合,用于在文件系统中精准定位和处理目标文件。
示例:查找 /data 目录下所有包含 “LOGIN” 内容的 .log 文件。
find /data -type f -name "*.log" | xargs grep -i "LOGIN"

另一个常见场景是日志清理。例如,查找并删除 /data 目录下最近7天内修改过的 .log 文件。安全起见,务必先预览再操作。
# 1、先查找并预览
find /data -type f -name "*.log" -mtime -7 -print
# 2、确认无误后,再执行删除(任选一种方式)
find /data -type f -name "*.log" -mtime -7 | xargs rm -f
find /data -type f -name "*.log" -mtime -7 -delete

避坑指南:
- 预览防误删:在执行删除操作前,务必使用
-print 或 -ls 预览结果,避免误删系统关键文件。
- 处理特殊字符:当文件名包含空格等特殊字符时,应使用
-print0 和 xargs -0 配对使用,确保正确解析。
- 生产环境先备份:对于重要数据,删除前建议先进行备份。
- 交互式确认:对于安全性要求极高的操作,可以使用
-ok 参数,在删除前逐一确认。
# 删除包含空格等特殊字符的文件
find /data -type f -name "*.log" -mtime -7 -print0 | xargs -0 rm -f
# 交互式确认删除
find /data -type f -name "*.log" -mtime -7 -ok rm -f {} \;
2. 进程管理:从查看、杀死到监控
进程管理是 运维/DevOps/SRE 的日常。核心命令包括:
ps aux:查看系统所有进程快照。
top:实时监控系统资源占用和进程状态。
kill:向进程发送信号,终止其运行。
实战场景:CPU使用率飙升的三步排查法
- 定位高CPU进程:运行
top 命令,查看占用CPU最高的进程PID(默认按CPU排序,也可按P键)。

- 确认进程详情:使用
ps aux | grep 进程PID 命令,查看该进程的详细启动命令和资源占用。

- 终止进程:如果确认该进程异常或无用,先尝试
kill -15 PID(发送SIGTERM信号,允许进程清理后退出);若无效,再使用 kill -9 PID(发送SIGKILL信号,强制立即结束)。
实用技巧分享:
我曾处理过一个 Kubernetes 集群故障:凌晨三点用户查询突然变慢。值班人员查看应用日志无果。我到场后发现集群某个核心节点的 CPU 使用率异常飙升。通过 top 和 ps 命令快速定位,发现是一个非官方的 Prometheus 监控代理异常运行导致的。将其 kill 后,节点和集群性能立刻恢复正常。事后查明是某员工私自部署所致。
- 进程树查看:使用
pstree -p 命令(需安装 psmisc 包:yum install -y psmisc)可以直观地看到进程的父子关系,便于追踪问题源头。
3. 权限管理:避免“Permission denied”的终极方案
Linux权限基于三组身份:所有者(u)、所属组(g)、其他人(o)。每种身份有三种权限:读(r=4)、写(w=2)、执行(x=1)。
核心操作:
chmod 755 文件名:设置文件为所有者可读可写可执行(rwx),组和其他人只读可执行(r-x)。
chmod +x 脚本.sh:给脚本添加执行权限(最常用)。
chmod -R 777 目录名:递归修改目录及其内部所有文件的权限为全开放(慎用,安全隐患大)。
避坑指南:授权后仍“权限不足”?检查SELinux!
有时即使文件权限设置正确,操作仍被拒绝。这很可能是 SELinux 安全上下文在作祟。
- 检查状态:
getenforce。返回 Enforcing 表示开启。
- 临时关闭(重启后失效):
setenforce 0。返回 Permissive 模式。
- 永久关闭:编辑
/etc/selinux/config 文件,将 SELINUX=enforcing 改为 SELINUX=disabled,然后重启系统。
二、进阶核心:4个效率提升工具,让运维效率翻倍
1. 日志分析三板斧:grep + awk + sed
文本处理是日志分析的基石。
- grep:精准过滤
grep -n "error" 日志文件 # 显示匹配行的行号
grep -C 5 "error" 日志文件 # 显示匹配行及其前后各5行内容
示例:检查安全日志中的错误
grep -n "error" secure*

- awk:数据提取神器
awk ‘{print $1}‘ access.log # 提取日志文件第一列(如IP地址)
示例:提取所有尝试SSH登录(成功或失败)的IP地址并去重
grep -E 'Accepted|Failed' secure | awk '{print $11}' | sort -u

- sed:流编辑器,用于替换/删除
sed -i 's/旧内容/新内容/g‘ 文件 # 全局替换
sed -i ‘/关键字/d’ 文件 # 删除包含关键字的行
示例:将文件 AB.txt 中的所有 “123” 替换为 “321”

2. 系统监控:不止会用top
全面的系统监控涵盖内存、磁盘、网络/系统 等方面。
- 内存监控:
free -g:以GB为单位查看内存使用概况。
vmstat 1 5:每1秒采样一次,共5次,查看虚拟内存、进程、CPU等状态。

- 磁盘监控:
df -h:查看各磁盘分区的空间使用情况。
du -sh *:查看当前目录下各文件和子目录的大小。
示例:查看当前目录文件大小并排序
du -sh * | sort -h

- 网络监控:
ss -an:比 netstat 更快更高效,查看所有网络连接和监听端口。
ping & traceroute:基础网络连通性和路由追踪工具。
示例:查看谁在监听或使用80端口
ss -an | grep 80

3. 管道与重定向:运维的“粘合剂”
4. 计划任务:crontab的正确使用姿势
crontab 格式:分 时 日 月 周 要执行的命令
三、实战必备:3个常用故障排查场景
1. 磁盘满了怎么办?三步定位法
- 定位满的分区:
df -h,查看哪个分区的使用率是100%。
- 查找大文件/目录:在已满的分区下,使用
du -sh * 逐层定位占用空间最大的目录。
- 清理或扩容:删除无用的大文件(如日志、临时文件)或扩展磁盘空间。
注意:不要直接删除 /var/log/ 下的系统日志文件,可能导致服务异常。可使用 echo "" > 大日志文件 或 truncate -s 0 大日志文件 来安全清空。
高级定位技巧:
# 快速找出/var/log下最大的10个文件或目录
du -sh /var/log/* 2>/dev/null | sort -rh | head -10
# 使用ncdu工具进行交互式可视化分析(需安装)
ncdu /
# 查找整个系统中大于1G的文件
find / -type f -size +1G -exec ls -lh {} \; 2>/dev/null | head -10
2. 端口被占用,服务无法启动?快速解决
- 查找占用端口的进程:
lsof -i:80 # 方法1:查看占用80端口的进程
ss -tunlp | grep :80 # 方法2(推荐,更高效)
netstat -tulnp | grep 80 # 方法3

- 终止进程:获取进程PID后,使用
kill -9 PID 强制终止。
- 检查系统服务:如果端口被系统服务(如防火墙
firewalld)占用,考虑停止或配置该服务。
3. 服务启动失败?五步排查法
按照以下顺序,可以系统性地定位大部分服务启动问题。
- 查看服务状态:
systemctl status 服务名,获取初步错误信息。
- 查看启动日志:
journalctl -u 服务名 -f --since “5 min ago” 实时跟踪日志,或直接查看服务的专属日志文件。

- 检查配置文件语法:例如,Nginx 用
nginx -t,Apache 用 httpd -t。
- 检查权限和SELinux上下文:确保服务有权限访问其所需的文件、目录和端口。检查
ls -lZ 和 getenforce。
- 检查端口与依赖:确认监听端口未被占用 (
ss -tlnp),并且服务依赖的其他服务已正常启动 (systemctl list-dependencies 服务名)。
四、核心学习心法
- 以用代学:从实际遇到的问题出发去学习和搜索命令,用一次胜过死记硬背十次。
- 重视基础:Linux 的权限模型、进程管理和文件系统是理解一切高级操作的基石,务必牢固掌握。
- 积累实战案例:将每次故障排查的过程、命令和解决方案记录下来,形成你自己的“运维手册”,这是你最重要的经验资产。
掌握以上这些核心技能,足以让你从容应对日常工作中80%的 Linux 运维挑战。技术之路漫长,在 云栈社区 与更多同行交流,分享和积累实战经验,是持续成长的最佳途径。
