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:大规模日志聚合分析
相关推荐
时空自由民.10 分钟前
linux下camera 详细驱动流程 OV02K10为例(chatgpt版本)
linux·运维·服务器
码界奇点19 分钟前
Python内置函数全解析:30个核心函数语法、案例与最佳实践指南
linux·服务器·python
熊文豪21 分钟前
保姆级Maven安装与配置教程(Windows版)
java·windows·maven·maven安装教程·maven配置教程·maven安装与配置教程
云川之下41 分钟前
【网络】使用 DNAT 进行负载均衡时,若未配置配套的 SNAT,回包失败
运维·网络·负载均衡
怀旧,1 小时前
【C++】 9. vector
java·c++·算法
渣哥1 小时前
震惊!Java注解背后的实现原理,竟然如此简单又高深!
java
2301_801673011 小时前
实验二 Cisco IOS Site-to-Site Pre-share Key
网络·智能路由器
hqxstudying1 小时前
JAVA限流方法
java·开发语言·安全·限流
shylyly_1 小时前
Linux->多线程2
java·linux·多线程·线程安全·线程同步·线程互斥·可重入