文档首页> Linux命令> 蓝易云cdn:linux常用命令搜索关键字

蓝易云cdn:linux常用命令搜索关键字

发布时间:2026-03-07 00:03       

下面这套是我在生产环境里常用的“Linux 搜索关键字武器库”,按场景拆开讲,直接上手就能用 ✅🙂


1)在文件内容里搜关键字(最常用)🔍

grep -n "关键字" 文件名

解释:

  • grep:按“文本内容”搜索匹配行
  • -n:把匹配行的“行号”也打印出来,定位更快
  • "关键字":要搜的字符串(建议加引号,避免特殊字符被 shell 误解)
grep -RIn "关键字" /path/to/dir

解释:

  • -R:递归搜索目录下所有文件
  • -I:忽略二进制文件(避免一堆乱码)
  • -n:显示行号
  • /path/to/dir:要搜索的目录范围(范围越小,越快)
grep -RIn --exclude-dir=node_modules --exclude="*.log" "关键字" .

解释:

  • --exclude-dir=...:排除目录(前端项目、依赖目录非常必要)
  • --exclude="*.log":排除特定类型文件
  • .:当前目录开始搜(建议在项目根目录执行)

小建议:在高频排障里,排除大目录能把搜索速度从“分钟级”拉回“秒级”⚡


2)在“命令输出”里搜关键字(排障必备)🧰

ps aux | grep -n "nginx"

解释:

  • ps aux:列出当前系统进程
  • |:管道,把前一个命令输出交给后一个命令处理
  • grep -n:过滤包含 nginx 的行并显示“匹配行号”(行号用于阅读,不是进程号)
ss -lntp | grep ":443"

解释:

  • ss:查看网络连接/监听端口(比老工具更推荐)
  • -l:只看监听
  • -n:不解析域名,直接显示数字(更快、更清晰)
  • -t:只看 TCP
  • -p:显示对应进程信息
  • grep ":443":过滤出 443 端口相关行,快速确认服务是否在监听

3)按“文件名/路径”搜(找配置、找脚本)📁

find /etc -type f -name "*nginx*" 2>/dev/null

解释:

  • find /etc:在 /etc 里找(配置通常集中在这里)
  • -type f:只找文件
  • -name "*nginx*":文件名模糊匹配
  • 2>/dev/null:把“无权限”等报错丢弃,输出更干净
find /var/log -type f -mtime -3 -name "*.log" -print

解释:

  • -mtime -3:近 3 天内有变动的文件
  • 这个组合适合“最近故障排查”,先锁定最新日志文件范围 ✅

4)在日志里搜关键字(系统日志 / 服务日志)📌

journalctl -u nginx --since "1 hour ago" | grep -n "error"

解释:

  • journalctl:系统日志查询工具(systemd 环境常用)
  • -u nginx:只看 nginx 服务日志
  • --since "1 hour ago":只看最近 1 小时,减少噪音
  • | grep -n "error":再过滤关键字,专注问题信号
tail -n 200 /var/log/nginx/error.log | grep -n "upstream"

解释:

  • tail -n 200:只看末尾 200 行(更贴近最新故障)
  • grep -n:定位包含 upstream 的行,常用于反代/网关问题追踪

5)在命令历史里搜(复盘、提效)🧠

history | grep -n "iptables"

解释:

  • history:查看当前用户执行过的命令
  • grep -n:搜索包含 iptables 的历史命令,快速复用上次的正确姿势
Ctrl + r

解释:

  • 这是交互式“反向搜索历史命令”
  • 按下后输入关键字,会即时匹配历史命令;再按一次 Ctrl+r 会跳到更早的匹配项
  • 这招在运维里是“效率外挂”🚀

一张表:按场景选命令(少走弯路)📊

目标 推荐命令 关键价值
搜文件内容