Linux命令--查看日志less和grep

1.less命令

less命令是查看文档,跟more一样可以进行翻页,但是可以往前翻页.
应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜

  1. 命令格式:
less [参数]  文件 
  1. 命令参数:
-b <缓冲区大小> 设置缓冲区的大小
-e  当文件显示结束后,自动离开
-f  强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g  只标志最后搜索的关键词
-i  忽略搜索时的大小写
-m  显示类似more命令的百分比
-N  显示每行的行号
-o <文件名> 将less 输出的内容在指定文件中保存起来
-Q  不使用警告音
-s  显示连续空行为一行
-S  行过长时间将超出部分舍弃
-x <数字> 将“tab”键显示为规定的数字空格
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
z  向后翻一页
d  向后翻半页
b	向上翻一页
h  显示帮助界面
Q  退出less 命令
u  向前滚动半页
y  向前滚动一行
空格键 滚动一页
回车键 滚动一行
[pagedown]: 向下翻动一页
[pageup]:   向上翻动一页
  1. 标记导航
    当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:
m - 标记一个锚点当前位置
'  - 跳转到某个锚点.

比如:

ma - 标记当前位置为a
'a - 导航到标记 a 处
  1. 其他技巧
  • 使用less的时候我们看的是固定的文档,如果我们希望像tail一样查看滚动的当前最新文档,我们可以在less命令的时候,使用大写的F,来查看滚动日志,ctrl+c停止回到less
  • 可以按 v 进入编辑模型, shift+ZZ 保存退出到 less 查看模式
  • 可以按 :e 查看下一个文件, 用 :n 和 :p 来回切换
  • G - 移动到最后一行
  • g - 移动到第一行
  • q / ZZ - 退出 less 命令

还有很多命令,比如全屏导航, 打开多个文件,但是都比较鸡肋,掌握常用的就行了. 比如向上翻页

  1. 实例
    比如下面这个,就是忽略搜索时的大小写,显示百分比,显示行号,连续空行为一行的来显示log日志
less -imNs   /opt/appl/spring-cloud/log/service.log

Linux命令--查看日志less和grep_第1张图片
m标记锚点
在这里插入图片描述
' ,跳转锚点
在这里插入图片描述

2.grep命令

grep是筛选的命令,在查看日志的时候,也可以对日志的内容进行筛选
它可以把我们需要筛选的关键词那一部分的行数显示出来.

  1. 下面的命令就是查询catalina.out中,包含error关键字前后10行的日志以less的方式显示出来
grep -Cn 10 'error' catalina.out | less
-A  10	匹配行的前10行内容
-B  10	匹配行的后10行内容
-C 10	匹配行的环绕10行内容
'error'	关键词需要引号包裹
less		查看的方式
  1. grep查询关键字,高亮显示
grep 'request' -C5 app.log --color

-C5表示显示该关键词所在的上下5列
如图
在这里插入图片描述

  1. grep过滤屏蔽关键字
    比如我们日志类型是DEBUG级别,想要屏蔽DEBUG级别的日志,就可以使用下面的命令
tail -f app.log | grep -v 'DEBUG'
  1. 查询多个条件,与条件
tail grep 'A' -f app.log | grep  'B'
  1. 查询多个条件,或条件
tail -f grep  -E 'A|B'  app.log

或者

tail -f egrep 'A|B' app.log

Linux命令--查看日志less和grep_第2张图片

你可能感兴趣的:(Linux)