コマンド gzip


gzip はファイルを圧縮するコマンドである。

使い方は次のとおり。

$ls
secret_file
$gzip secret_file
$ls
secret_file.gz

圧縮されたファイルには拡張子 .gz がつく。

どれくらい圧縮されたかを調べるには -l オプションをつける。

$ls
secret_file.gz
$gzip -l secret_file.gz

もとのファイルに展開(伸長)するには -d オプションをつける。

$ls
secret_file.gz
$gzip -d secret_file.gz
$ls
secret_file

複数のファイルを圧縮するには、

$ls
file1 file2
$cat file1 file2 | gzip > file3.gz

のようにパイプをつかうとよい。

コマンド gzip はもともとコマンド tar の補助として設計された。

そのためコマンド tar に z オプションをつけると、gzip が起動するようになっている。

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

と、ここまでは manpage の解説をまとめただけだが、コマンド gzip にはヘンな性質がある。

たとえば下には gzip で圧縮したファイルを置いてある。

このファイルをダウンロードすると、本来ならダウンロードマネージャーが開いてファイルの置き場所を聞くはずである。

ところがブラウザの画面にはなぜか圧縮前のもとのファイルがテキストどおり表示される( OS がウィンドウズの場合は別ですが . . . )。

他の例を示すと、コマンド gzip で圧縮したファイルがあるとして、

$ls
secret_file.gz
$less secret_file.gz

のようにコマンド less でファイルをのぞいてみると、もとのテキストファイルの中身が表示される。

しかもテキストエディタ vi のコマンド G や 1G が使えたりするのです。

$gzip -l secret_file /*拡張子なしで OK*/

としても、まちがいなく圧縮されていることがわかる。

どうやら gzip でつくったファイルはバイナリファイルでありながらテキストファイルの中身を保持しているらしい。

結論(?) -- ヘンなコマンド。

(追記) ブラウザ mozilla の 1.4.3 以降の version だと、ダウンロードマネージャーが 開くように 変更されています (そんなこと、しなくても いいのに ...)。

(さらに追記) less でも 開けなくなってしまった。


きょうの UNIX