1.less命令
less命令是查看文档,跟more一样可以进行翻页,但是可以往前翻页.
应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜
- 命令格式:
less [参数] 文件
- 命令参数:
-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]: 向上翻动一页
- 标记导航
当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:
m - 标记一个锚点当前位置
' - 跳转到某个锚点.
比如:
ma - 标记当前位置为a
'a - 导航到标记 a 处
- 其他技巧
- 使用less的时候我们看的是固定的文档,如果我们希望像tail一样查看滚动的当前最新文档,我们可以在less命令的时候,使用
大写的F
,来查看滚动日志,ctrl+c
停止回到less - 可以按 v 进入编辑模型, shift+ZZ 保存退出到 less 查看模式
- 可以按 :e 查看下一个文件, 用 :n 和 :p 来回切换
- G - 移动到最后一行
- g - 移动到第一行
- q / ZZ - 退出 less 命令
还有很多命令,比如全屏导航, 打开多个文件,但是都比较鸡肋,掌握常用的就行了. 比如向上翻页
- 实例
比如下面这个,就是忽略搜索时的大小写,显示百分比,显示行号,连续空行为一行的来显示log日志
less -imNs /opt/appl/spring-cloud/log/service.log
m
标记锚点
'
,跳转锚点
2.grep命令
grep是筛选的命令,在查看日志的时候,也可以对日志的内容进行筛选
它可以把我们需要筛选的关键词那一部分的行数显示出来.
- 下面的命令就是查询catalina.out中,包含
error
关键字前后10行的日志以less的方式显示出来
grep -Cn 10 'error' catalina.out | less
-A 10 匹配行的前10行内容
-B 10 匹配行的后10行内容
-C 10 匹配行的环绕10行内容
'error' 关键词需要引号包裹
less 查看的方式
- grep查询关键字,高亮显示
grep 'request' -C5 app.log --color
-C5表示显示该关键词所在的上下5列
如图
- grep过滤屏蔽关键字
比如我们日志类型是DEBUG级别,想要屏蔽DEBUG级别的日志,就可以使用下面的命令
tail -f app.log | grep -v 'DEBUG'
- 查询多个条件,与条件
tail grep 'A' -f app.log | grep 'B'
- 查询多个条件,或条件
tail -f grep -E 'A|B' app.log
或者
tail -f egrep 'A|B' app.log