作为一名后端工程师,在工作中,总是免不了到服务器上查看各种info,warn,error级别的日志。而上篇博客介绍的vim命令对于大日志文件是无效的,因为vim打不开太大的日志文件,那么如果我们要查看日志应该怎么办呢?这里介绍几个在平常工作中常用的文件查看命令。
grep
grep命令是一个强大的文本搜索命令,他使用正则表达式来搜索文本,并把匹配的的文本打印出来。命令的格式是:
grep [options]
具体的参数这里就不列举了,可以在Linux中使用
grep --help
来查看grep命令支持的参数。在平时查看日志的时候我一般用到一下几个参数:
grep "test" info.log
此命令用来输出info.log中所有包含test字符串的文本
grep -e "test|test1" info.log
此命令用来打印info.log中包含test或者test1字符串的文本
grep '[a-z]' info.log
这个命令用到了正则表达式来匹配文本,打印出info.log中包含a—z中任一字母的文本,关于正则表达式不了解的可以去借鉴一下其他人的博客,这了不进行介绍。
tail
tail命令顾名思义用来查看文本的结尾,命令的格式是:
tail [options]
这里介绍几个常用的命令:
tail -f info.log
这个命令用来查看info.log文件的结尾,当文件增长时,输出后续添加的文本。
tail -n200 info.log
这个命令用来查看info.log文件结尾200行的数据
head
head命令与tail命令相反,用来查看文件的开头,命令的格式是:
head [options]
这里介绍几个常用命令:
head -n200 info.log
这个命令用来查看info.log文件开头200行的数据
这里的任何一个命令能做的功能都是比较单一的,并不能满足我们查看日志的需求,还好,Linux有个管道的命令:| 这个命令可以把|前的输出作为|后的输入。
因此,我们可以几个命令结合起来用,如下所示:
tail -f info.log | grep "test"
这个命令用来打印不断刷新的info.log中包含test字符串的文本
这样多结合几个命令就可以满足我们日常查看日志的需求了。