当前位置: 首页 > news >正文

liunx日志查询常用命令总结


日志查询常用命令速查表


1. 实时监控日志
命令说明示例
tail -f实时追踪日志末尾tail -f catalina.out
tail -f + grep过滤实时关键词tail -f app.log | grep "ERROR"
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|WARN" app.log
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 | wc -l
awk按列统计awk '{count[$3]++} END {for(k in count) print k, count[k]}' app.log(统计日志级别)
sort | uniq去重统计grep "Exception" app.log | sort | uniq -c

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" | xargs grep "ERROR"
zcat查看压缩文件内容zcat app.log.1.gz | grep "500"

7. 高频组合命令
  1. 快速定位错误堆栈
    grep -A 50 -B 20 "Caused by:" app.log   # 显示异常上下50行
    
  2. 统计接口响应时间TOP10
    awk '{print $7, $NF}' access.log \| sort -k2 -nr \| head -10
    
  3. 按小时统计错误数量
    awk -F: '/ERROR/ {count[$2]++} END {for(h in count) print h":00", count[h]}' app.log
    

场景示例

问题

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

排查步骤
  1. 按时间过滤访问日志
    sed -n '/2023-10-25 14:20:/,/2023-10-25 14:40:/p' access.log > tmp.log
    
  2. 搜索500状态码
    grep " 500 " tmp.log   # 定位异常请求路径
    
  3. 关联应用日志
    grep "2023-10-25 14:30" app.log \| grep -C 30 "NullPointer"
    

工具推荐

  • 文本处理三剑客grep(搜索)、sed(替换/截取)、awk(分析)
  • 高级工具
    • lnav:日志查看神器(支持SQL查询日志)
    • jq:JSON日志分析(如K8s环境)
    • ELK:大规模日志聚合分析
http://www.dtcms.com/a/110058.html

相关文章:

  • Cesium 时间线 及 坐标转换
  • PyTorch复现逻辑回归
  • 高效深度学习lecture03
  • 强化学习DDPG算法
  • 【C++进阶九】继承和虚继承
  • 【新书上市】《STM32嵌入式系统开发—基于STM32CubeMX和HAL库》,高校教学推荐,STM32入门必读书籍!
  • TVM流程及调优
  • skynet.start 的作用详细解析
  • Jira 停售一周年:国产研发管理平台能否扛起替代大旗?
  • 【补题】Xi‘an Invitational 2023 E. Merge the Rectangles
  • 【PHP】- 字符串,数组,字典常用操作
  • Cribl 脱敏mask
  • (三)机器学习---线性回归及其Python实现
  • 聚焦建筑业碳中和,楼宇自控系统应如何发挥建筑节能价值
  • 大语言模型中的嵌入模型
  • (C语言)单链表(2.0)数据结构(指针,单链表教程)
  • 栈和队列的概念
  • dfs递归回溯的两种体型
  • 水下声呐探测仪,应急救援中的高效水下定位技术|深圳鼎跃
  • Nuxt3项目的SEO优化(robots.txt,页面tdk,伪静态.html,sitemap.xml动态生成等)
  • 开源虚拟化管理平台Proxmox VE部署超融合
  • RHCSA LINUX系统文件管理
  • 市场交易策略优化与波动管理
  • 6.模型训练4-毕设篇
  • 【Prometheus】kube-state-metrics 的详细说明
  • 【学习笔记】计算机网络(七)—— 网络安全
  • Metasploit 反弹Shell
  • eplan许可证常见问题及解决方法
  • 数据结构(JAVA)单向,双向链表
  • 解析CSRF攻击