Linux运维实战:四大类高频命令速查,故障排查效率翻倍
作者:本站 来源:本站
2026-05-12 23:51 1083阅读

运维人员看过来!还在为记不住Linux命令而烦恼吗?
服务器突然卡顿、端口连接失败、日志刷满找不到异常、定时任务没执行……紧急排查时,翻遍笔记、百度半天,错过最佳处理时间,被领导追问到头皮发麻;写自动化脚本时,记混grep和awk用法,改来改去半天跑不通;新手运维更是对着命令行一脸懵,连基础的资源监控都不会,白白浪费时间!
其实Linux运维不用死记硬背,核心就4类高频命令——文本处理、端口排查、资源监控、定时任务,吃透这4类,不管是故障排查、日志分析,还是自动化脚本编写,都能事半功倍!
今天整理了「Linux运维高频命令速查全攻略」,干货密集无废话,每一条命令都配实操案例,新手能直接复制使用,老运维能快速查漏补缺,建议收藏转发,再也不用临时翻笔记!
先破局:运维最头疼的3个痛点,一条命令就能解决
做Linux运维,80%的故障都离不开这3个场景,很多人耗时半天,其实都是没找对命令,白白内耗!
痛点1:日志文件几百兆,想找某个报错、关键词,翻半天找不到,手动筛选直接崩溃——用grep/awk/sed,30秒定位核心异常,不用逐行排查;
痛点2:服务器端口不通、服务起不来,不知道是端口被占用,还是防火墙拦截,排查半天找不到原因——用netstat/ss,一键查看端口状态、占用进程,秒定位问题;
痛点3:服务器突然卡顿、CPU/内存飙满,不知道哪个进程在“搞事情”,甚至导致服务宕机——用top/htop,实时监控资源占用,快速kill异常进程;
痛点4:需要定时执行备份、清理日志、启动服务,手动操作太麻烦,还容易忘——用cron定时任务,一次配置,永久自动执行,解放双手。
其实这4类命令不难,核心是掌握“用法+场景”,不用死记硬背,记住常用参数和实操案例,遇到问题直接套用,效率翻倍!下面就用“命令解析+实操步骤+避坑提醒”的方式,把每类命令讲透,新手也能轻松上手。
✅ 第一类:文本处理(grep/awk/sed)——日志分析、数据筛选必备
核心用途:处理日志文件、筛选关键数据、修改文本内容,是运维排查故障、分析业务数据的核心工具,三者搭配使用,能解决90%的文本处理需求。
1. grep:关键词筛选(最常用,快速定位异常)
✨ 核心功能:从文件或命令输出中,筛选包含指定关键词的行,支持模糊匹配、大小写忽略,排查日志时首选。
高频实操命令(直接复制使用):
- 基础用法:grep "关键词" 文件名(例:grep "error" /var/log/nginx/error.log —— 筛选nginx错误日志中的所有报错);
- 忽略大小写:grep -i "关键词" 文件名(例:grep -i "Error" /var/log/nginx/error.log —— 同时匹配Error、error、ERROR);
- 显示行号:grep -n "关键词" 文件名(例:grep -n "timeout" /var/log/nginx/access.log —— 筛选超时请求,并显示对应行号,方便定位);
- 反向筛选(排除关键词):grep -v "关键词" 文件名(例:grep -v "200" /var/log/nginx/access.log —— 筛选非200状态码的请求,排查异常请求);
- 递归筛选(遍历所有子目录):grep -r "关键词" 目录名(例:grep -r "数据库连接失败" /var/log/ —— 遍历所有日志文件,查找数据库连接异常)。
⚠️ 避坑提醒:筛选大文件时,加上“--color=auto”可高亮关键词,更易查看;避免直接筛选几十G的日志,可先用head/tail截取部分内容,再进行筛选,提升效率。
2. awk:数据提取、格式化输出(比grep更灵活)
✨ 核心功能:按列提取数据、对文本进行格式化处理,适合从日志中提取特定字段(如IP、统计分析。
高频实操命令(直接复制使用):
- 提取指定列:awk '{print $列数}' 文件名(例:awk '{print $1}' /var/log/nginx/access.log —— 提取访问日志中的客户端IP,$1代表第一列);
- 按条件筛选并提取:awk '条件 {print $列数}' 文件名(例:awk '$9=="404" {print $1,$7}' /var/log/nginx/access.log —— 提取404状态码对应的IP和请求路径);
- 统计去重(如统计访问IP数量):awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr(先提取IP,排序、去重、统计次数,最后按次数降序排列);
- 格式化输出(添加分隔符):awk '{print "IP:"$1,"时间:"$4}' /var/log/nginx/access.log —— 给提取的IP和时间添加描述,更易阅读。
小技巧:awk的列分隔符默认是空格,若日志用逗号、冒号分隔,可加上“-F”指定分隔符(例:awk -F "," '{print $2}' 文件名)。
3. sed:文本替换、删除(批量修改更高效)
✨ 核心功能:批量替换文本中的关键词、删除指定行,适合修改配置文件、清理日志中的无用信息,支持批量操作。
高频实操命令(直接复制使用):
- 替换关键词(临时查看,不修改原文件):sed 's/旧关键词/新关键词/g' 文件名(例:sed 's/error/ERROR/g' /var/log/nginx/error.log —— 将所有error替换为ERROR,仅查看效果);
- 替换并保存(修改原文件):sed -i 's/旧关键词/新关键词/g' 文件名(例:sed -i 's/localhost/192.168.1.1/g' /etc/nginx/nginx.conf —— 批量修改nginx配置中的本地地址);
- 删除指定行:sed -i '行号d' 文件名(例:sed -i '10d' /var/log/nginx/error.log —— 删除第10行内容);
- 删除包含关键词的行:sed -i '/关键词/d' 文件名(例:sed -i '/INFO/d' /var/log/nginx/error.log —— 删除所有包含INFO的行,清理无用日志)。
⚠️ 避坑提醒:使用sed -i修改文件前,建议先备份原文件(例:cp 文件名 文件名.bak),避免误操作。
✅ 第二类:端口排查(netstat/ss)——服务故障、连接异常必备
核心用途:查看服务器端口的监听状态、占用进程、连接数,排查端口不通、服务起不来、端口被占用等问题。
1. netstat:传统端口排查命令(兼容性强)
高频实操命令(直接复制使用):
- 查看所有端口:netstat -a;
- 查看监听端口:netstat -l;
- 查看端口占用进程:netstat -tulnp(最常用);
- 查看指定端口占用:netstat -tulnp | grep 端口号;
- 查看所有TCP连接:netstat -nt。
2. ss:高效端口排查命令(推荐使用)
✨ 优势:比netstat速度更快,占用资源更少。
高频实操命令(直接复制使用):
- 查看所有监听端口:ss -l;
- 查看指定端口占用:ss -tulnp | grep 端口号;
- 查看端口连接数:ss -s;
- 查看指定IP的连接:ss -t | grep 目标IP。
小技巧:若系统提示netstat未安装,可通过yum install net-tools或apt install net-tools安装;ss一般默认已安装。
✅ 第三类:资源监控(top/htop)——服务器卡顿、宕机排查必备
核心用途:实时监控CPU、内存、进程占用,快速定位占用资源过高的进程。
1. top:默认资源监控命令
✨ 操作技巧:输入top后,按“P”按CPU占用排序,按“M”按内存占用排序,按“k”可kill进程,按“q”退出,按“1”显示所有CPU核心。
关键参数:%CPU(CPU占用率)、%MEM(内存占用率)、PID(进程ID)、COMMAND(进程名称)。
2. htop:优化版资源监控命令
✨ 优势:彩色界面,支持鼠标操作,更直观。
安装与使用:yum install htop(CentOS)或apt install htop(Ubuntu),直接输入htop启动,可点击表头排序,按F9 kill进程。
⚠️ 避坑提醒:kill进程前务必确认用途,避免误kill系统核心进程导致宕机。
✅ 第四类:cron定时任务——自动化脚本、定期操作必备
核心用途:定时执行命令或脚本,如备份数据库、清理日志、重启服务等。
1. 编辑定时任务
命令:crontab -e
时间格式:分 时 日 月 周 命令(绝对路径)
高频案例:
- 每天凌晨3点备份MySQL:0 3 * * * /root/backup/mysql_backup.sh
- 每小时清理nginx日志:0 * * * * rm -rf /var/log/nginx/access.log(慎用)
- 每周日晚10点重启nginx:0 22 * * 0 systemctl restart nginx
- 每5分钟检查服务:*/5 * * * * /root/check_service.sh
- 每月1号15号执行脚本:0 0 1,15 * * /root/auto_script.sh
2. 定时任务管理命令
- 查看当前任务:crontab -l
- 删除所有任务:crontab -r(慎用)
- 重启cron服务:systemctl restart crond(CentOS)或systemctl restart cron(Ubuntu)
- 查看cron状态:systemctl status crond
⚠️ 避坑提醒:脚本路径必须绝对路径;建议添加日志输出便于排查;避免任务时间重叠。
运维必备:命令速查清单
清单(打印贴桌面,随用随查)- 文本处理:
- - 筛选关键词:grep -n "关键词" 文件名
- - 提取列:awk '{print $1}' 文件名
- - 批量替换:sed -i 's/旧/新/g' 文件名
- 端口排查:
- - 查看端口占用:ss -tulnp | grep 端口号
- - 统计连接数:ss -s
- 资源监控:
- - 实时监控:top(按P排CPU,按M排内存)
- - 友好监控:htop(鼠标操作更便捷)
- 定时任务:
- - 编辑任务:crontab -e
- - 查看任务:crontab -l
- - 重启服务:systemctl restart crond
互动话题
你们平时运维最常用的Linux命令是什么?有没有遇到过命令执行失败、定时任务不生效的坑?评论区留言分享你的解决方案,抽5个宝子,免费分享「Linux运维命令完整版手册」(含100+高频命令)!
觉得有用的话,点赞+收藏+转发,给身边做运维的朋友看看,一起摆脱命令记不住、排查效率低的困扰,轻松搞定服务器故障!
#Linux运维 #Linux命令 #运维干货 #服务器排查 #日志分析 #定时任务 #grep命令 #运维新手必备
上一篇
下一篇
相关阅读