在Linux中使用命令查看日志信息
在日常操作linux中,我们经常需要查看日志信息,来排查我们程序出现的各种bug。或者通过日志来判断程序是否正常执行,下面就介绍几种查看日志的命令已经应用场景。
查看日志命令和一些应用场景
-
cat
cat 可以根据过滤条件 ,去筛选日志信息,也可以直接查看某个文件的信息,tac是倒序查看。
# 查看整个日志文件信息 cat nohup.out # 根据某些关键字来筛选日志信息 cat -n nohup.out |grep "error" # 显示jeck及前5行 cat nohup.out | grep -B 5 'jeck' # 显示jeck及后5行 cat nohup.out | grep -A 5 'jeck'
-
tail
tail 一般用于查看尾部的日志信息,实时的日志信息。
# 查询日志尾部最后50行的日志 tail -n 50 info.log # 实时查看日志末尾50行日志信息 tail -50f info.log #查询50行之后的所有日志 tail -n +50 info.log
-
head
head命令跟tail命令相反,head一般查看头日志信息。
# 查看头50行日志信息 head -n 50 info.log # 查看该文件除了最后50行的其他日志信息 head -n -50 info.log
-
mess
more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。
# enter 向下n行,需要定义。默认为1行 # Ctrl+F 向下滚动一屏 # 空格键 向下滚动一屏 # Ctrl+B 返回上一屏 # = 输出当前行的行号 # :f 输出文件名和当前行的行号 # V 调用vi编辑器 # !命令 调用Shell,并执行命令 # q 退出more # 从第10行起开始显示内容 more +10 info.log # 分屏显示 每次10行 使用ctrl+F 或者 space(空格)滚屏 more -10 info # 根据某些关键字分屏查看 more +/ERROR info.log # 当日志文件内容过多的时候 还可以结合cat命令一起 分屏查看 下面表示 每屏分50行数据展示 cat error.log | more -50
-
less
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
# ps查看进程信息并通过less分页显示同时显示行号 ps -ef|less -N # 浏览多个文件 # 输入 :n后,切换到 info.log # 输入 :p后,切换到 error.log # 当正在浏览一个文件时,也可以使用 :e命令 打开另一个文件。 less info.log error.log
more, less 都具备查找功能,按/ 然后输入要找的字串,再按 Enter 即可,按 n(next) 会继续找,大写的 N 则是往回(上)找,按 q(quit)或者ZZ离开。