在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'
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离开。