====== gzip ====== ===== 機能 ===== gzipコマンドはcompressとともに入力データを圧縮するコマンドです。 gzipコマンドをファイル名を指定せずに実行すると、標準入力からのデータを読み込み 圧縮したデータは標準出力します。 ファイル名を引数として指定すると、指定されたファイルからデータを読み込み、もとのファイル名に サフィックス(接尾辞)「.gz」を付加したファイルに圧縮したデータを出力します。 圧縮処理が終了すると、元のファイルは削除されます。 gzipコマンドは、GNUのフリーソフトウェアで、圧縮率も一般的にcompressコマンドより高い為、 フリーのPC-UNIXでは広く用いられています。 ただし商用UNIXなどではgzipコマンドが付属していない場合もあるので、他のUNIX環境のユーザーに 圧縮したデータを渡す場合には、相手が復元可能なコマンドで圧縮する必要があります。 ===== 構文 ===== gzip [オプション] [ファイル名] ===== オプション ===== |-c|復元(伸長)したデータを標準出力する。| |-d|圧縮されたファイルを復元する。| |-f|同名ファイルが存在した場合、警告を表示せずに強制的に上書きする。| |-h|ヘルプを表示する。| |-l|圧縮されたファイルの内容を表示する。| |-q|コマンドのメッセージを抑制する。| |-S .suf|圧縮されたファイルに付与するサフィックス(接尾辞)を「.suf」にする| |-t|圧縮されたファイルをチェックする。| |-v|圧縮作業の状態の詳細を表示する| |-n|圧縮速度を指定する(n=1(圧縮速度優先)~9(圧縮率優先))| ===== コマンド例 ===== === ファイルを圧縮 === $ ls -l sendmail.8.9.3.tar -rw-r--r-- 1 yamada user 3768320 Feb 23 21:57 sendmail.8.9.3.tar sendmail.8.9.3.tarのサイズは3768320バイト $ gzip sendmail.8.9.3.tar sendmail.8.9.3.tarを圧縮し圧縮率を表示する。 $ ls -l sendmail.8.9.3.tar.gz -rw-r--r-- 1 yamada user 1068290 Feb 23 21:57 sendmail.8.9.3.tar sendmail.8.9.3.tarの圧縮後のサイズは1068290バイト === ファイルを圧縮し、内容を表示 === $ gzip -v sendmail.8.9.3.tar.gz 圧縮ファイルの情報を表示する compressed uncompr. ratio uncompressed_name 1068290 3768320 71.6% sendmail.8.9.3.tar 71.6%圧縮され、元のファイルの30%程度の サイズになっていることが分かる === 圧縮速度を指定して圧縮 === $ gzip -n1 sendmail.8.9.3.tar 圧縮速度を優先して圧縮する。 sendmail.8.9.3.tar: 65.8% -- replaced with sendmail.8.9.3.tar.gz 圧縮速度を優先すると少し圧縮率が落ちる === 圧縮ファイルを復元(伸長) === $ ls -l sendmail.8.9.3.tar.gz -rw-r--r-- 1 yamada user 1063119 Feb 23 21:57 sendmail.8.9.3.tar.gz $ gzip -d sendmail.8.9.3.tar.gz 圧縮されたファイルを復元する $ ls -l sendmail.8.9.3.tar -rw-r--r-- 1 yamada user 3768320 Feb 23 21:57 sendmail.8.9.3.tar === /var/log/all.log.0.gz などを標準出力してgrepする === $ gzip -dc all.log.1.gz |grep -B 3 -A 3 matsui123456@yahoo.co.jp