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

Linux 的日志分析命令

前言

熟练掌握 Linux 的日志分析命令是基本功,有助于排查解决问题。

tail 实时监控

对于大文件,cat 会导致屏幕刷屏,还容易把终端卡死。

# -f (follow):实时追加显示文件尾部内容
tail -f logs/application.log
# 只看最后 200 行,并保持实时刷新,避免被历史日志干扰tail -n 200 -f logs/application.log

此时只需要盯着最新的 log 打印就行。

less 按需加载

vim 会一次性加载整个文件占用大量内存,如果文件很大,就会卡住。

less 是按需加载,打开几个 G 的文件也极其流畅,且支持向后回溯。

真实场景:追查某笔客诉订单

运营反馈:刚才 10 点左右,订单号 ORD12345678 支付失败了。

你需要从日志末尾开始,往前反向查找这个订单号。

less logs/application.log

进入界面后的操作流:

  1. Shift + G 先跳到日志最末尾(因为报错通常发生在最近)。
  2. ?ORD12345678 输入问号+订单号,向上反向搜索。
  3. n:如果当前这行不是关键信息,按 n 继续向上找上一次出现的位置。
  4. Shift + F 如果看着看着,日志又更新了,按这个组合键可以让 less 进入类似 tail -f 的实时滚动模式;按 Ctrl + C 退回浏览模式。

grep 关键词搜索

显示上下文报错

# 搜索异常关键字,并显示该行 "前后各 20 行",-C (Context) 参数
grep -C 20 "NullPointerException" logs/application.log

全链路追踪 TraceId

# 搜索当前目录下所有以 app.log 开头的文件
grep "TraceId-20251219001" logs/app.log*

统计异常频次

# -c (count):只统计匹配的行数
grep -c "RedisConnectionException" logs/application.log

排除干扰项

# -v (invert):显示不包含 "HealthCheck" 的所有行
grep -v "HealthCheck" logs/application.log

sed 日志切割

有时候日志非常大,例如有 10GB,grep 搜出来的内容依然过多。

如果我们明确知道生产事故发生在 14:00 到 14:05 之间。

sed 可以帮我们把这段时间的日志单独切出来,保存成一个小文件分析。

# 语法:sed -n '/开始时间/,/结束时间/p' 源文件 > 目标文件
# 注意:时间格式必须和日志里的格式完全一致
sed -n '/2025-12-19 14:00/,/2025-12-19 14:05/p' logs/application.log > error_segment.log

awk 处理列数据

分析 Nginx 日志,找出访问量最高的 IP,假设日志格式第一列是 IP 。

awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -n 10# 1. awk '{print $1}':提取第一列(IP)
# 2. sort:排序,把相同的 IP 排在一起
# 3. uniq -c:去重并统计每个 IP 出现的次数
# 4. sort -nr:按次数(n)倒序(r)排列
# 5. head -n 10:取前 10 名
http://www.rkmt.cn/news/176979.html

相关文章:

  • CUDA共享内存优化:提升PyTorch张量操作效率
  • HuggingFace Trainer自定义训练循环:超越默认封装
  • CNN空洞卷积实现:PyTorch中atrous convolution应用
  • 长期投资在波动市场中的优势
  • 相机
  • CUDA Occupancy Calculator使用:优化PyTorch核函数配置
  • CNN批量归一化实现:PyTorch中BatchNorm层的应用
  • GitHub Issue模板设置:规范化反馈PyTorch项目问题
  • windows 10异常掉电关机再重启进入“恢复”界面
  • Markdown绘制流程图:展示神经网络架构设计思路
  • 【计算机毕业设计案例】基于SpringBoot的高校竞赛管理系统设计与开发基于springboot的高校学科竞赛平台开发与设计(程序+文档+讲解+定制)
  • CUDA核心概念解析:理解PyTorch背后的GPU加速原理
  • Docker Network配置:实现PyTorch容器间通信
  • GitHub Actions自动化测试PyTorch环境兼容性配置示例
  • Windows10下载
  • 【毕业设计】基于SpringBoot+Vue的宠物生活馆网站的设计与实现(源码+文档+远程调试,全bao定制等)
  • GitHub项目Fork后如何同步上游更新:保持PyTorch代码最新
  • IDEA(2020版)实现JSP指令和动作
  • Docker容器间共享GPU资源:多用户PyTorch环境隔离方案
  • HuggingFace Pipeline快速调用:零代码运行大模型
  • Java毕设项目推荐-基于SpringBoot+Vue的竞赛管理系统【附源码+文档,调试定制服务】
  • YOLOv11来了!基于PyTorch的新一代目标检测模型前瞻
  • Java毕设项目推荐-基于SpringBoot+Vue的宠物生活馆网站的设计与实现宠物陪玩遛狗预约系统宠物信息管理【附源码+文档,调试定制服务】
  • 无需繁琐配置!PyTorch-CUDA基础镜像助你秒启AI项目
  • YOLOv5目标检测实战:基于PyTorch-CUDA环境快速部署
  • [特殊字符] MediaCrawler - 自媒体平台爬虫 [特殊字符]️
  • 寒假更新计划
  • Mac M1芯片能跑PyTorch吗?对比CUDA版本的兼容性差异
  • 数据结构 AVL树讲解
  • Conda安装PyTorch全攻略:解决常见依赖冲突问题