liunx日志查询常用命令总结


日志查询常用命令速查表


1. 实时监控日志
命令 说明 示例
tail -f 实时追踪日志末尾 tail -f catalina.out
tail -f + grep 过滤实时关键词 `tail -f app.log
multitail 多文件同时监控(需安装) multitail -i app.log -i api.log

2. 关键词搜索
命令 说明 示例
grep 基础关键词搜索 grep "NullPointer" catalina.out
grep -i 忽略大小写 grep -i "error" app.log
grep -C 显示上下文 grep -C 10 "OOM" app.log(前后10行)
grep -E 正则匹配 `grep -E "ERROR
zgrep 搜索压缩日志 zgrep "404" access.log.gz

3. 时间范围过滤
命令 说明 示例
sed 按时间段截取日志 sed -n '/2023-10-25 14:00:/,/2023-10-25 15:00:/p' app.log
awk 时间+关键词组合过滤 awk '/14:00:/,/15:00:/ && /ERROR/' app.log
journalctl 系统日志时间过滤(Systemd) journalctl --since "2023-10-25 14:00" --until "15:00"

4. 日志统计与分析
命令 说明 示例
wc -l 统计行数 `grep "ERROR" app.log
awk 按列统计 awk '{count[$3]++} END {for(k in count) print k, count[k]}' app.log(统计日志级别)
`sort uniq` 去重统计

5. 分页与查看
命令 说明 示例
less 分页浏览(支持搜索) less app.log → 按 / 搜索,Shift+G 跳末尾
head / tail 查看首尾部分 tail -n 100 app.log(末尾100行)
lnav 高级日志查看器(时间着色、语法高亮) lnav app.log(需安装)

6. 多文件与压缩日志
命令 说明 示例
grep -r 递归搜索目录 grep -r "Timeout" /var/log/
find + xargs 多文件联合搜索 `find /var/log -name "*.log"
zcat 查看压缩文件内容 `zcat app.log.1.gz

7. 高频组合命令
  1. 快速定位错误堆栈

    bash 复制代码
    grep -A 50 -B 20 "Caused by:" app.log   # 显示异常上下50行
  2. 统计接口响应时间TOP10

    bash 复制代码
    awk '{print $7, $NF}' access.log \| sort -k2 -nr \| head -10
  3. 按小时统计错误数量

    bash 复制代码
    awk -F: '/ERROR/ {count[$2]++} END {for(h in count) print h":00", count[h]}' app.log

场景示例

问题

用户反馈14:30左右接口返回500错误,需快速定位。

排查步骤
  1. 按时间过滤访问日志

    bash 复制代码
    sed -n '/2023-10-25 14:20:/,/2023-10-25 14:40:/p' access.log > tmp.log
  2. 搜索500状态码

    bash 复制代码
    grep " 500 " tmp.log   # 定位异常请求路径
  3. 关联应用日志

    bash 复制代码
    grep "2023-10-25 14:30" app.log \| grep -C 30 "NullPointer"

工具推荐

  • 文本处理三剑客grep(搜索)、sed(替换/截取)、awk(分析)
  • 高级工具
    • lnav:日志查看神器(支持SQL查询日志)
    • jq:JSON日志分析(如K8s环境)
    • ELK:大规模日志聚合分析
相关推荐
考虑考虑4 小时前
JDK25模块导入声明
java·后端·java ee
_小马快跑_5 小时前
Java 的 8 大基本数据类型:为何是不可或缺的设计?
java
Re_zero7 小时前
线上日志被清空?这段仅10行的 IO 代码里竟然藏着3个毒瘤
java·后端
洋洋技术笔记8 小时前
Spring Boot条件注解详解
java·spring boot
程序员清风1 天前
程序员兼职必看:靠谱软件外包平台挑选指南与避坑清单!
java·后端·面试
皮皮林5511 天前
利用闲置 Mac 从零部署 OpenClaw 教程 !
java
Sinclair1 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
华仔啊1 天前
挖到了 1 个 Java 小特性:var,用完就回不去了
java·后端
SimonKing1 天前
SpringBoot整合秘笈:让Mybatis用上Calcite,实现统一SQL查询
java·后端·程序员
日月云棠2 天前
各版本JDK对比:JDK 25 特性详解
java