zcat
压缩与传输
用法
zcat <file.gz>把 .gz 里的内容直接送到标准输出,完全不在磁盘上解开,所以能就地 grep 一份已经轮转的日志;`-f` 让没压缩的普通文件也一起通过,而 bzip2、xz、zstd 各有自己的 bzcat、xzcat、zstdcat。
常用选项
| 选项 | 含义 |
|---|---|
| <file.gz> | Print the contents to stdout, leaving the file compressed. |
| -f | Also pass through files that are not compressed at all. |
| zgrep / zless | The same idea for searching and paging a .gz file. |
| bzcat / xzcat / zstdcat | The equivalents for bzip2, xz and zstd. |
示例
zcat access.log.gz | grep " 500 "Search a rotated log without unpacking it.
zcat -f app.log app.log.1.gz | tail -100Read across compressed and plain logs in one pass.
打包和压缩是两件事:tar 打包,gzip 压小,.tar.gz 是两样一起。
怎么看
- 方括号 [ ] 表示这部分可以不写。
- 省略号 … 表示可以写多个。
- 选项区分大小写——有些命令里 -r 和 -R 不是一回事。
常见问题
Q. zcat 是做什么的?
把 .gz 里的内容直接送到标准输出,完全不在磁盘上解开,所以能就地 grep 一份已经轮转的日志;`-f` 让没压缩的普通文件也一起通过,而 bzip2、xz、zstd 各有自己的 bzcat、xzcat、zstdcat。
Q. 怎么写?
zcat <file.gz> —— 方括号表示可以省略的部分。
Q. 值得记的选项有几个?
这里列了 4 个,完整列表在 man zcat。这条命令属于压缩与传输。
相关命令
man 手册: man zcat