compress, uncompress, zcat - ファイルの圧縮または圧縮解除、あるいは展開されたファイルの表示
compress [-fv/] [-b bits] [file]...
compress -c [-fv] [-b bits] [file]
uncompress [-fv] [-c | -/] [file]...
zcat [file]...
compress ユーティリティーは、adaptive Lempel-Ziv コーディングを使用して、指定されたファイルのサイズを小さくしようとします。出力が標準出力である場合を除き、各ファイルは拡張子 .Z のファイルに置き換えられます。同じ所有権モードが保たれ、時間、更新時間、ACL、および拡張属性が変更されます。また、compress ユーティリティーは、file.z の所有者およびグループに file の所有者およびグループを設定しようとしますが、それが実行できなくても失敗にはなりません。ファイルのパス名に .Z を付加してパス名が 1023 バイトを超えると、コマンドが失敗します。ファイルを指定しない場合は、標準入力が圧縮されて標準出力に出力されます。
圧縮される量は、入力のサイズ、コード当たりの bits、および共通の部分文字列の分布によって異なります。通常、ソースコード、英語などのテキストは 50 - 60% 削減されます。圧縮は通常、Huffman コーディングによって実現されるものよりもはるかに優れており、計算にかかる時間が少なくなります。圧縮中に指定された bits パラメータは、マジック番号とともに圧縮ファイル内でエンコードされ、ランダムデータの圧縮解除または圧縮データの再圧縮を以降に実行できないようにします。
uncompress ユーティリティーは、compress ユーティリティーを使用して圧縮されたファイルを元の状態に復元します。ファイルを指定しない場合は、標準入力が圧縮解除されて標準出力に出力されます。
このユーティリティーは compress によって生成されたすべてのファイルの圧縮解除をサポートしています。ほかのシステムの compress によって生成されたファイルの場合、uncompress は 9 ビットから 16 ビットの圧縮 (–b を参照) をサポートしています。
zcat ユーティリティーは、compress を使用して圧縮されたファイルの圧縮解除された形式を標準出力に書き込みます。これは uncompress–c と同等です。入力ファイルは影響を受けません。
サポートしているオプションは、次のとおりです。
共通の部分文字列コードの上限 (ビット単位) を設定します。bits は 9 から 16 (16 がデフォルト) である必要があります。ビット数を小さくすると、圧縮率が小さいより大きなファイルが生成されます。
標準出力に書き込みます。ファイルは変更されず、.Z ファイルは作成されません。zcat の動作は `uncompress –c' の動作と同じです。
圧縮時に、ファイルのサイズが実際には減らなくても、または対応する file.Z ファイルがすでに存在していても、file の圧縮を強制的に実行します。
–f オプションが指定されておらず、プロセスがバックグラウンドで実行されていない場合は、既存のファイルを上書きするかどうかを確認するプロンプトが表示されます。応答が肯定である場合、既存のファイルは上書きされます。圧縮解除時には、ファイルの上書きのプロンプトは表示されません。–f オプションが指定されておらず、プロセスがバックグラウンドで実行されていない場合は、既存のファイルを上書きするかどうかを確認するプロンプトが表示されます。標準入力が端末ではなく –f が指定されていない場合は、診断メッセージを標準エラー出力に書き込み、0 より大きいステータスで終了します。
冗長。各ファイルの縮小率または増加率に関するメッセージを標準エラー出力に書き込みます。
圧縮時または圧縮解除時に、ソースファイルに関連付けられている拡張システム属性をターゲットファイルにコピーし、ソースファイルの拡張属性に関連付けられている拡張システム属性をターゲットファイルに関連付けられている対応する拡張属性にコピーします。拡張システム属性をコピーできない場合は、元のファイルが保持されて、診断が stderr に書き込まれ、最終的な終了ステータスが non-zero になります。
次のオペランドを指定できます。
compress によって圧縮されるファイル、uncompress によって圧縮解除されるファイル、または圧縮解除された形式が zcat によって標準出力に書き込まれるファイルのパス名。file が - であるか、file を指定しない場合は、標準入力が使用されます。
compress、uncompress、および zcat の実行に影響する環境変数 (LANG、LC_ALL、LC_COLLATE、LC_CTYPE、LC_MESSAGES、および NLSPATH) については、environ(7) を参照してください。
肯定応答は、ユーザーのロケールの LC_MESSAGES カテゴリの yesexpr キーワードで定義されている拡張正規表現を使用して処理されます。LC_COLLATE カテゴリに指定されているロケールは、yesexpr に定義されている式に使用される範囲、同等クラス、および複数文字照合要素の動作を定義します。LC_CTYPE に指定されているロケールは、テキストデータのバイト列を文字として解釈するロケールや、yesexpr に定義されている式に使用される文字クラスの動作を定義します。locale(7) を参照してください。
次のエラー値が返されます。
正常終了。
エラーが発生しました。
サイズが大きくなる可能性があるため (および –f オプションが指定されていないため)、1 つ以上のファイルが圧縮されませんでした。
エラーが発生しました。
属性についての詳細は、マニュアルページの attributes(7) を参照してください。
|
ln(1)、fgetattr(3C)、fsetattr(3C)、attributes(7)、environ(7)、locale(7)、standards(7)
コマンド行に無効なオプションが指定されました。
コマンド行に無効なオプションが指定されました。
–b の後には最大ビット数を指定する必要があります。または、最大ビット数が無効であるか、数値ではありません。
uncompress に指定されたファイルは圧縮されていません。
file は、このマシンの圧縮コードより大きい bits を処理できるプログラムで圧縮されています。より小さい bits でファイルを再圧縮してください。
ファイルはすでに圧縮されていると想定されます。ファイル名を変更して再試行してください。
出力ファイルを置き換える場合は y、置き換えない場合は n で応答します。
SIGSEGV 違反が検出されました。通常、これは入力ファイルが壊れていることを意味します。
入力が圧縮によって縮小された割合。(–v を指定した場合のみ。)
入力ファイルが通常ファイルではない (ディレクトリなど) 場合は変更されません。
入力ファイルにリンクがあり、変更されていません。詳細は、ln(1) を参照してください。
圧縮しても縮小されません。入力は圧縮されていません。
接尾辞 .Z を付加するには、パス名が長すぎます。
拡張システム属性をコピーできませんでした。
圧縮ファイルは、大きなメモリーを持つマシン間では互換性がありますが、小さい処理データ領域 (64K バイト以下) を持つアーキテクチャーへのファイル転送には –b 12 を使用してください。
compress は接尾辞 .Z の有無についてより柔軟であるべきです。