查看日志的多种命令之less,tail,cat,sz等
**
LESS命令
**
虽然最常用的命令是tail命令,但是由于很多情况下日志刷新过快的原因,导致还没来得及查看日志的具体信息,想查看的信息就已经被日志的海洋淹没了,所以在这列给大家推荐一个less命令查看日志的方式。
举例:less api.log-查看api的日志文件 or less api.log | grep '404’通过管道查看具体log
下面说一说具体的键位操作,更加便捷的查看日志文件
1、单行查看log
k-向上翻滚一行
j-向下翻滚一行
2、批量查看log
ctrl+b-向上翻滚一页
ctrl+v-向下翻滚一页
ctrl+b-向下翻滚半屏
ctrl+u-向上翻滚半屏
3、快速移动到log指定位置
G-移动到最后一行
g-移动到第一行
4、编辑log文件
使用less命令另一个方便的地方就是不需要使用vim来对log进行编辑,在less进入log之后可以直接点击v键来对log进行二次编辑
v:对日志文件进行编辑
5、查看log中的关键字
这一点个人认为是最为关键的点,在查看log的初始,可以通过管道来grep关键信息,但是那也只能查看包涵grep后内容的单行信息,这往往并不是我们所期望的,那么便可以通过 ***? /***这两个符号来进行关键信息的高亮显示
输入的具体操作
当我需要查看Exception时,在指针放置的位置输入
/Exception 或者 ?Exception
查看之后,在整个日志文件中Exception便会被高亮显示,也可以查看关于Exception的上下文内容了
比如我输入
/Exception
便会出现以下的效果
相对于grep来说,这样的方式更加的清晰明了
N-向上查找高亮显示的关键字
n-向下查找高亮显示的关键字
**
TAIL命令
**
Ctrl+c 是退出tail命令。
顺便讲一下linux中tail命令
tail 命令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.
1.命令格式;
tail -f filename | grep ‘’ (grep可加可不加)
2.命令功能:
用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
3.命令参数:
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示行数
–pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
4.使用实例:
实例1:显示文件末尾最后5000行内容
命令:
tail -5000f api.log
相对于less命令来说,tail命令有利也有弊,并且这个利弊都是动态刷新日志,如果用户量过大,动态刷新日志,根本来不及查看日志的具体内容,日志便被淹没了,但是动态刷新日志也方便查看实时的日志,及时发现问题的所在,所以说这个tail命令是一把双刃剑。
**
CAT命令
**
(1)把 file1 的文档内容全部显示在屏幕上:
cat file1
(2)把 file1 的文档内容加上行号后输入 file2 这个文档里:
cat -n file1 > file2
(注意:如果file2中原本有内容,此命令会覆盖file2中原有内容)
(3)把file1和file2的内容合并到file3,同样会覆盖原file3.txt中的内容:
cat file1 file2 > file3
(4)把 file1 和 file2 的文档内容加上行号(空白行不加)之后将内容追加到 file3 文档里:
cat -b file1 file2 >> file3
(5)清空 /etc/test.txt 文档内容:
cat /dev/null > /etc/test.txt
**
sz命令
**
有的时候可能会遇到软件问题,软件打印日志错乱导致无法正常的查看日志,可以使用sz命令来将日志导出,并用相关软件打开查看。
还有许多相关命令tac,head,echo等命令就不一一介绍了,上面的四个命令博主常用的命令,有什么不当的地方还望指正。