gzip ファイルを gzip 形式で圧縮する
gzip [オプション] ファイル...試してみる
ls -l logs圧縮前のサイズを確認します。
gzip logs/app.log圧縮します。元のファイルは消え、app.log.gz ができます。
gzip -k logs/web.log-k を付けると、元のファイルを残したまま圧縮します。
ls -l logsサイズが小さくなったことと、ファイルの変化を確認します。
zcat logs/app.log.gz | head -n 2展開せずに、圧縮したまま中身を表示します。
gunzip logs/app.log.gz展開して元に戻します(gzip -d と同じです)。
主なオプション
-d | 展開する(gunzip と同じ) |
|---|---|
-k | 元のファイルを残す |
-c | 結果を標準出力に書き、元のファイルは変更しない |
-1 から -9 | 圧縮の度合いを指定する。1は速く、9は小さくなる。標準は 6 |
-r | ディレクトリの中のファイルを、再帰的に圧縮する |
-l | 圧縮したファイルのサイズと圧縮率を表示する |
-v | 処理の詳細を表示する |
解説
元のファイルは消える
gzip ファイル を実行すると、ファイル.gz ができ、元のファイルは消えます。残したいときは -k を使います。-c を使うと、結果は標準出力に出るので、gzip -c file > file.gz のようにリダイレクトすれば元のファイルも残ります。
展開
展開は gunzip ファイル.gz か gzip -d ファイル.gz です。どちらも同じ動作で、展開後は .gz が消えます。ファイルを展開せず内容だけ見たいときは、zcat(または gzip -dc)や zless、zgrep が便利です。
1つのファイルを圧縮する
gzip は、1つのファイルを1つの圧縮ファイルにします。複数のファイルを1つにまとめて圧縮したいときは、先に tar でまとめます。tar -czf は、この2つの処理を一度に行います。
圧縮方式の違い
gzip は圧縮と展開の速さと、圧縮率のバランスがとれた方式です。圧縮率が高い順に並べると、一般に xz、bzip2、gzip の順になりますが、時間がかかる順も同じ傾向です。