我相信许多人,包括我自己在内,刚开始的时候,查看日志,直接一个
grep '错误' 日志.log
如果需要根据多个关键字查询的话,再拼接grep命令,如果需要显示上下行,再加上-A,-B或者-C参数。就会出现下上下关联的日志:
用grep日志,你会发现这并不符合人类的阅读习惯,上下5行你没有看到具体问题,再上下100行,上下1000行,你自己最后都看晕了,甚至还看不出来问题点在哪里。
试想,如果能像人类的阅读文章一样,可以自己翻页阅读,搜索查询,这样是不是体验更好?也更容易定位到问题?
这个时候可能有人更换到vim了,觉得vim才是王道,看日志各种翻页,各种方便。
二、vim很好用,但也有缺陷 vim的优点vim确实是神器,楼主也用了一段时间,vim有如下功能
通过"/"直接搜索关键字,还能支持正则表达式匹配 通过“n”查找下一个,通过shift+n查找上一个匹配项 通过“f”向下翻页,通过“b”向上翻页 搜索的内容可以高亮显示出来,一目了然楼主好几年前,初识vim的时候,认定,就是它了,查日志的利器,极大提升效率,果断放弃grep命令。
vim的缺点后来在使用过程中,楼主发现vim有一些缺点,这些缺点让公司禁用了vim,命令,而楼主也感谢幸亏公司禁用了此命令,否则楼主还会一直用下去此命令,产生问题而不得知。
vim的主要缺点就是两个:
此时,vim和grep就都不能推荐使用了,有没有什么命令像“grep”命令一个没有危险,又像vim一样可以符合人类的阅读习惯呢?
此时就轮到我们要说的less命令登场了
less命令,可以直接通过less+日志文件使用
less 日志.log
这个时候你就可以进入到日志文件中了
进入文件中,默认是进入第一页,使用“shift+g”到最后一页,使用“g”到第一页。
关于搜索关键字,上下翻页等功能都与vim一致,可以直接参考vim的使用。
此时,你查看日志不仅效率很高,而且没有任何风险。可以说是看日志最佳命令也不为过
我们本篇博文介绍了grep,sed,vim等命令的缺点,然后结合各个命令的优点,查日志我们推荐了less命令,现在总结一个各个命令的优缺点:
grep:没有内存飙升风险,但是查看日志的方式,不符合人类的阅读习惯 vim:符合人类的阅读习惯,查日志也很方便,但是可以修改日志文件,也有内存飙升导致服务器宕机的风险 less:没有内存飙升风险,查日志也符合人类习惯。其实我们的生产环境,一个服务会部署多台服务器,比如一个商品中心服务,可能会部署3台,这个时候,一台台去查看日志还是没有特别方便,还是结合一个日志收集工具,通过页面去查询最为方便快捷,但是非生产环境,用好了查日志命令就可以快速定位问题,解决问题。