Linux高效查日志命令介绍

说明:之前介绍Linux补充命令时,有介绍使用tail、grep命令查日志;

今天发现仅凭这两条命令不够,本文扩展介绍一下。

命令一:查看日志开头

powershell 复制代码
head -n 行数 日志路径

如下,可以查看程序启动是否正常;

命令二:查看日志末尾

powershell 复制代码
tail -n 行数 日志路径

能查看最新的日志信息,在日志行数非常多的情况下,这个命令很好用。不然,百万行的日志记录,用cat或者more,不可想象。

命令三:实时查看日志末尾

powershell 复制代码
tail -f -n 行数 日志路径

实时查看最新的部分日志记录,在程序打印日志量少的情况下,可以敲完命令,然后去触发BUG,能显示触发BUG的错误信息,很有用,也很局限,因为一般大项目,控制台会一直刷日志的。

命令四:查询关键词所在行

powershell 复制代码
grep -rina "关键词" 日志路径

查询关键词所在行的信息,这个日志用得不多,一般可以用来验证日志里是否打印了某行日志,用来判断程序执行情况。

比如,在代码里有以下代码;

java 复制代码
	log.info("进入xx方法");

就可以用这个作为关键词去搜一下,看有没有这行日志。平常,我用这个命令搜配置文件比较多,可以快速查看配置文件中某个配置项的设置。

注,引号里面的关键字就是模糊匹配的,不用在另外加百分号了,不要敲成下面这样。

powershell 复制代码
grep -rina "%url%" application-test.yml

命令五:查询关键词最后一次出现的位置

powershell 复制代码
grep -rina "关键词" 日志路径 | tail -n 行数

这个可以用来找最后一次出现异常的地方,可以找到当时出现的时间点,很有用。

命令六:查询关键词上下文内容

powershell 复制代码
grep -C 行数 "关键词" 日志路径

这个可以查看关键词附近的日志信息,能完整的看到异常附近的日志内容。其中-B指前几行,-A指后几行,而-C是上下各多少行。如下:

命令七:查询关键词最后一次出现的上下文内容

powershell 复制代码
grep -C 行数 "关键词" 日志路径 | tail -n 行数(结合前面,最好等于前面行数的2倍,因为前面是-C,上下各多少行)

这个命令值前面的组合,能找到最后一次出现异常时的上下文内容,快速定位到异常;

总结

本文介绍了查看日志的几个命令,可以高效查日志

相关推荐
Ruiery2 小时前
Linux 6.6内核内存管理深度解析(十三):slab/slub 分配器
linux·运维·服务器
乌恩大侠2 小时前
从 AI-RAN 到 AI Agent:基于 NVIDIA Nemotron 构建 5G/6G 智能网络故障诊断系统
服务器·人工智能·5g·o-ru·ai-ran·电信大模型
Decay__3 小时前
04_MySQL DBA 日常运维手册 —— 会话管理、锁与阻塞、事务监控、慢查询与日志巡检
运维·数据库·sql·mysql·架构
丰锋ff4 小时前
压缩命令笔记
linux
江华森4 小时前
数据中心基础设施运维实战:概述与实验环境搭建
运维
迪菲赫尔曼4 小时前
【基础篇 11】把官方源码放到服务器:版本、解压层级和安装位置,一次弄清楚
运维·服务器·开发语言·人工智能·python·yolo·目标检测
GeW6 小时前
产业新优势基础软件的人才底盘,从Linux与数据库开始
linux·数据库
by209996 小时前
Linux GCC/G++ 编译与 Makefile 构建
linux·运维·服务器·经验分享
螺丝钉tina6 小时前
[Playwright][08] Upload 模块自动化:如何设计真实业务测试用例?
运维·自动化·测试用例
迪菲赫尔曼6 小时前
【基础篇 12】把环境与源码接起来:检查 GPU,再安装服务器上的项目
运维·服务器·开发语言·人工智能·python·yolo·目标检测