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:大规模日志聚合分析
相关推荐
f***R814 分钟前
HeidiSQL导入与导出数据
java
q***71013 小时前
Spring Boot(快速上手)
java·spring boot·后端
better_liang5 小时前
每日Java面试场景题知识点之-分布式事务处理
java·微服务·面试·springcloud·分布式事务
ROCKY_8177 小时前
计算机网络考试考点——应用层
服务器·网络·计算机网络
L***d6707 小时前
Spring Boot 各种事务操作实战(自动回滚、手动回滚、部分回滚)
java·数据库·spring boot
e***74957 小时前
Modbus报文详解
服务器·开发语言·php
凌波粒7 小时前
Springboot基础教程(3)--自动装配原理/静态资源处理/欢迎页
java·spring boot·后端
likuolei7 小时前
XSL-FO 软件
java·开发语言·前端·数据库
凌波粒7 小时前
SpringBoot基础教程(2)--yaml/配置文件注入/数据校验/多环境配置
java·spring boot·后端·spring
S***26757 小时前
Spring Boot环境配置
java·spring boot·后端