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