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:大规模日志聚合分析
相关推荐
EEE1even9 分钟前
VScode通过跳板机连接内网服务器
服务器·ide·vscode
麦兜*10 分钟前
Redis高可用架构设计:主从复制、哨兵、Cluster集群模式深度对比
java·数据库·spring boot·redis·spring·spring cloud·缓存
王嘉俊92511 分钟前
Redis 入门:高效缓存与数据存储的利器
java·数据库·redis·后端·spring·缓存·springboot
王维15 分钟前
【shardingsphere-jdbc】分表实践
java·数据库
hweiyu0018 分钟前
Linux 命令:scp
linux·运维·服务器
cpsvps28 分钟前
容器内部DNS解析针对美国服务器微服务的调试指南
运维·服务器·微服务
道可到38 分钟前
淘宝面试原题 Java 面试通关笔记 02|从编译到运行——Java 背后的计算模型(面试可复述版)
java·后端·面试
8K超高清41 分钟前
汇世界迎全运 广州国际社区运动嘉年华举行,BOSMA博冠现场展示并分享与科技全运的故事
运维·服务器·网络·数据库·人工智能·科技
2503_9248068541 分钟前
动态IP的适用业务场景
网络·网络协议·tcp/ip
DKPT43 分钟前
JVM如何管理直接内存?
java·笔记·学习