目录
一.sed
二.cat
三.tail
四.more
五.less
六.vim
七.时间范围查询
一.sed
sed -n '/2023-06-28 10:08/,/2023-06-28 10:09/p' nohup.out 查询一段时间日志
sed -n '/2023-06-28 10:08/,/2023-06-28 10:09/p' nohup.out > nohup0521.out 查询一段时间日志输出到指定文件
二.cat
根据关键字查看日志cat test.log | grep “新增用户”
根据关键字查看后10行日志cat test.log | grep “新增用户” -A 10
根据关键字查看前10行日志cat test.log | grep “新增用户” -B 10
根据关键字查看前后10行日志,并显示出行号cat -n test.log | grep “新增用户” -C 10
6
查看日志前 50 行cat test.log | head -n 50
查看日志后 50 行,并显示出行号cat -n test.log | tail -n 50
说明:
-A 表示关键字之后,After
-B 表示关键字之前,Before
-C 表示关键字前后,Context
1、查看日志前 n行:
cat 文件名 | head -n 数量
cat log.log | head -n 200 # 查看log.log前200行
2、查看日志尾 n行:
cat 文件名 | tail -n 数量
cat log.log | tail -n 200 # 查看log.log后200行
3、根据关键词查看日志 并返回关键词所在行:
_方法一:_cat 文件名 | grep “关键词”
cat log.log | grep “train” # 返回log.log中包含train的所有行
_方法二:_grep -i “关键词” 文件名 (与方法一效果相同,写法不同)
grep -i “train” log.log # 返回log.log中包含train的所有行
三.tail
tail
tail -200f test.log 实时监控200行日志
tail -n 1000 test.log 查询日志尾部最后1000行的日志
tail -n +1000 test.log 查询1000行之后的所有日志
head
head -n 1000 test.log 查询日志文件中的头1000行日志
head -n -1000 test.log 查询日志文件除了最后1000行的其他所有日志
四.more
more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。
more test.log 查看日志
+n 从笫n行开始显示
-n 定义屏幕大小为n行
Enter 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏
空格键 向下滚动一屏
Ctrl+B 返回上一屏
五.less
less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,而且less在查看之前不会加载整个文件。
less test.log 查看日志
b 向后翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一行
回车键 滚动一页
应用场景
场景一:按行号查看---过滤出关键字附近的日志
cat -n test.log |grep "debug" 得到关键日志的行号
cat -n test.log |tail -n +92|head -n 20 选择关键字所在的中间一行. 然后查看这个关键字前10行和后10行的日志:
tail -n +100 表示查询100行之后的日志
head -n 20 则表示在前面的查询结果里再查前20条记录
场景二:根据日期查询日志
grep '2021-09-30 16:20:00' test.log 确定日志中是否有该时间点
sed -n '/2021-09-30 16:00:00/,/2021-09-30 16:20:00/p' test.log 查看时间节点内的日志
注意:日期必须是日志中打印出来的日志,否则无效.\color{red} 注意:日期必须是日志中打印出来的日志,否则无效. 注意:日期必须是日志中打印出来的日志,否则无效.
场景三:日志内容特别多,打印在屏幕上不方便查看
使用more和less命令
cat -n test.log |grep "debug" |more 分页打印,通过空格键翻页
使用 >xxx.txt 将查询到的日志保存到文件中,可以下载这个文件分析
cat -n test.log |grep "debug" >debug.txt
单个关键词高亮显示
tail -f 日志文件 | perl -pe 's/(关键词)/\e[1;颜色$1\e[0m/g'
tail -f catalina.out | perl -pe 's/(DEBUG)/\e[1;34m$1\e[0m/g'
多个关键词高亮显示
tail -f catalina.out | perl -pe 's/(关键词1)|(关键词2)|(关键词3)/\e[1;颜色1$1\e[0m\e[1;颜色2$2\e[0m\e[1;颜色3$3\e[0m/g'
tail -f catalina.out | perl -pe 's/(DEBUG)|(INFO)|(ERROR)/\e[1;34m$1\e[0m\e[1;33m$2\e[0m\e[1;31m$3\e[0m/g'
字体颜色设置
30-37 黑、红、绿、黄、蓝、紫、青、白
30m:黑
31m:红
32m:绿
33m:黄
34m:蓝
35m:紫
36m:青
37m:白
背景颜色设置
40-47 黑、红、绿、黄、蓝、紫、青、白
40:黑
41:红
42:绿
43:黄
44:蓝
45:紫
46:青
47:白
其他参数说明
[1; 设置高亮加粗
[4; 下划线
[5; 闪烁
例子:
黄字,高亮加粗显示
[1;33m
红底黄字,高亮加粗显示
[1;41;33m
六.vim
z-enter 移动当前行到屏幕顶端并滚动屏幕
z. 移动当前行到屏幕中心并滚动屏幕
z- 移动当前
ctrl-f forward, 向上滚动一屏
ctrl-b backward, 向下滚动一屏
ctrl-u up, 向上滚动半屏
ctrl-d down, 向下滚动半屏
100z 将第一百行滚动到屏幕顶端
/ 向下匹配搜索
? 向上匹配搜索
n 往同一个方向重复搜索
N 往相反方向重复搜索文章来源:https://www.toymoban.com/news/detail-755467.html
七.时间范围查询
grep '2022-08-20 15:41:[0-59]' logback.log文章来源地址https://www.toymoban.com/news/detail-755467.html
到了这里,关于Linux 日志查询的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!