文章目录
- more分页-按页显示文件信息
- less分页
- tail 末尾循环查看日志
- head头部循环查询日志
- grep查找
- cat查看文件内容
- 几个典型例子
- 查找某关键字附近的日志
- 如果查找日志过多,直接输出的屏幕上不方便查看
- 查找指定时间的日志
查看web应用程序运行日志解决运行时异常、出错是一项基本功。
web系统中通常会通过log4j框架向
外部日志文件写入程序运行时的某些日志
日志输出了程序中约定的一些变量:可能是订单号、服务号、请求ID
日志的作用:
当哪个订单处理失败了,哪个服务运行异常了,可以根据日志文件的这些
标签信息定位日志中的记录,然后通过变量的值判断程序出现的问题。
more分页-按页显示文件信息
cat命令:查看整个文件的信息
space键向下翻页 b键向上翻页
+n 从第n行开始显示
-n 每屏显示n行
+/pattern 搜索字符串,然后从前两行开始显示
-c 顶部清屏然后显示
示例:
more +3 redis.log 显示文件从第三行起的内容
more +/port redis.log 查找文件出现port字符串的行,然后从前两行进行显示
ls -l |more -5 查找目录的文件,每屏显示5行
less分页
类似more,但less可以使用up/down键随意浏览文件
-N 显示每行行号
Q 退出less命令
/字符串 向下搜索字符串
?字符串 向上搜索字符串
n 重复前一个搜索
N 反向重复前一个搜索
回车滚动一行,空格滚动一页,up向上一页,down向下一页
示例:
ps -ef | less 查看进程并分页显示
history | less 查看命令历史使用记录
tail 末尾循环查看日志
-f 循环读取
-v 显示详细处理信息
-n 显示的行数
+n 从n行开始
示例:
tail -n 5 redis.log 显示末尾5行日志
tail -f redis.log 循环查看日志
head头部循环查询日志
-v 显示文件名
-n 显示行数
-c 显示字节数
grep查找
-n 显示行数
-A 显示匹配行和它后面的n行
-B 显示匹配行和它前面的n行
-C 显示匹配行前后各n行
- 显示匹配字符串的所有记录
grep -n 'file' weeklog-parent.iml
2. 显示匹配字符串的对应记录
grep -n 'file' weeklog-parent.iml | tail -n 2
cat查看文件内容
-n 显示行号,包括空行
-b 显示行号,不包括空行
几个典型例子
查找某关键字附近的日志
- 查出关键字附近的日志
cat -n weeklog-parent.iml | grep ‘file’ = grep -n ‘file’ weeklog-parent.iml - 查出这个关键字前2行和后2行日志
cat -n weeklog-parent.iml | tail -n+2 | head -n 2
如果查找日志过多,直接输出的屏幕上不方便查看
- 使用more或less命令分页展示
cat -n weeklog-parent.iml | grep ‘file’ | more - 使用> log.txt将其保存到文件中
cat -n weeklog-parent.iml | grep ‘file’ > log.txt
查找指定时间的日志
sed命令:利用脚本处理、编辑文本文件【用来自动编辑一个或多个文件】
-e 以指定的script来处理输入的文本文件
-f 以指定的script文件来处理输入的文本文件
-n 仅显示script处理后的结果
动作说明:使用两个单引号括住
a 字符串: 在下一行新增字符串
i 字符串:在上一行新增字符串
d:删除当前行
c 字符串:取代n1、n2之间的行
p : 打印
s reg:取代相应字符串
- 查看两日期之间的日志
sed -n ‘/2020/3/20 21:11:00/,/2020/3/22 21:11:00/p’ test.log