由于日志文件较大,设计者有时会选择将其压缩保存。比如在logback中,将滚动输出的文件名配置为.zip.gz结尾,logback就会自动压缩保存。而且,日志文件的压缩效果很明显,很容易做到十倍甚至几十倍的压缩率。但带来的一个问题是,查看这些文件必须解压。

一般可以用gunzipgzip -d命令解压,需要注意的是要用-c参数重定向解压文件到标准输出或文件,否则默认会将压缩文件删除。解压后,就可以用lesscat命令查看了,也可以用grep命令搜索。但整个过程比较麻烦。如果操作的日志文件比较多,也不一定有空间去存放解压缩后的文件。

在Linux系统中,提供了几个z开头的命令,非常方便实用。它们与对应命令的功能相似,但可以直接==透明的处理压缩文件==(而Unix中一般没有,比如AIX就没有)。

这些命令有:

  • zless <=> less
  • zmore <=> more
  • zcat <=> cat
  • zgrep <=> grep

上手非常简单,和对应命令的用法几乎完全兼容。

-------------------------

本文采用 知识共享署名 4.0 国际许可协议(CC-BY 4.0)进行许可。转载请注明来源:https://imshuai.com/zless-zcat-zgrep-compressed-log-files 欢迎指正或在下方评论。