文章目录

  • 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行

  1. 显示匹配字符串的所有记录
grep -n 'file' weeklog-parent.iml

hiredis 查看日志 linux查看redis日志_hiredis 查看日志


2. 显示匹配字符串的对应记录

grep -n 'file' weeklog-parent.iml | tail -n 2

hiredis 查看日志 linux查看redis日志_hiredis 查看日志_02

cat查看文件内容

-n 显示行号,包括空行
-b 显示行号,不包括空行

几个典型例子

查找某关键字附近的日志

  1. 查出关键字附近的日志
    cat -n weeklog-parent.iml | grep ‘file’ = grep -n ‘file’ weeklog-parent.iml
  2. 查出这个关键字前2行和后2行日志
    cat -n weeklog-parent.iml | tail -n+2 | head -n 2

如果查找日志过多,直接输出的屏幕上不方便查看

  1. 使用more或less命令分页展示
    cat -n weeklog-parent.iml | grep ‘file’ | more
  2. 使用> 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:取代相应字符串

  1. 查看两日期之间的日志
    sed -n ‘/2020/3/20 21:11:00/,/2020/3/22 21:11:00/p’ test.log