目录

一.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                    往相反方向重复搜索

七.时间范围查询

grep '2022-08-20 15:41:[0-59]' logback.log

推荐内容
阅读全文
AI总结
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐