compress
compress コマンド
最終更新: 2021-04-12
目的
データを圧縮します。
構文
compress [ -c ] [ -C ] [ -d ] [ -F ] [ -f ] [ -n ] [ -q ] [ -v ] [ -V ] [ -b Bits ] [ File ... ]
説明
compress コマンドは、最適な Lempel-Zev コーディング法を使って、ファイルのサイズを縮小するためにデータを圧縮します。 File パラメーターで指定した元のファイルは、可能であれば、ファイル名の末尾に .Z が追加された圧縮ファイルに置き換えられます。 呼び出し中のプロセスに適切な特権が付与されている場合、圧縮ファイルの所有権、モード、および変更時刻は、元のファイルのものと同じです。 指定されたファイルのパスが 1023 バイトを超える場合、コマンドは機能しません。 ファイルを指定しなければ、標準入力が標準出力へ圧縮されます。圧縮によってファイルのサイズが変わらなければ、メッセージが標準エラーに書き込まれ、元のファイルは置き換えられないままになっています。
“注: ファイルには適切な置換許可がなければなりません。”
圧縮される量は、入力のサイズ、Bits 変数で指定された 1 コード当たりのビット数、および共通サブストリングの分布状態により決まります。一般的な例では、ソース・コードや英語のテキストは 50% から 60% に圧縮されます。compress コマンドによる圧縮は、Huffman コーディング法 (pack コマンド内で使用される)、すなわち最適な Huffman コーディング法による圧縮よりもコンパクトになり、計算時間も短縮されます。
フラグ
項目
説明
- b Bits ファイル中の共通サブストリングを置き換えるのに使用する最大ビット数を指定します。 Bits 変数の値は、9 ビットから 16 ビットの範囲になければなりません。デフォルトは 16 ビットです。アルゴリズムがデータを圧縮する場合、最初に 9 ビット・コードをすべて (257 から 512 まで) 使って、可能な限りのサブストリングを置き換えます。次に 10 ビット・コードに続き、-b フラグによって指定された限度に達するまで続きます。
- c 標準出力に書き込みます。 ファイルは変更されません。
- C バークレー・ソフトウェア・ディストリビューション (BSD) 改訂 2.0 と互換性のある出力が作成されます。
- d compress コマンドの機能を uncompress コマンドとまったく同じものにします。
- f または -F 圧縮を強制します。-f フラグおよび -F フラグのどちらでも使用することができます。File.Z ファイルが既に存在する場合はそのファイルが上書きされます。
Bits 変数の値に達すると、compress コマンドは定期的に圧縮率を検査します。圧縮率が高くなっていれば、compress コマンドは引き続き既存のコード辞書を使用します。逆に圧縮率が低くなっていれば、compress コマンドはサブストリングのテーブルを破棄し、再構築します。テーブルの再構築によって、ファイルの次のブロックに、このアルゴリズムが適用されます。 .Z ファイルが既に存在する場合に、 -f フラグが指定されず、プロセスがバックグラウンドで実行されていないときは、 既存の .Z ファイルを上書きするかどうかを確認するプロンプトが表示されます。
- n 圧縮されたファイルから、圧縮されたファイルのヘッダーを省きます。
注: このオプションを使用して、ファイルを圧縮解除するために uncompress コマンドを使用する場合は、-n フラグも同時に使用する必要があります。 - q -v フラグで生成された圧縮統計の表示を抑制します。複数の -v フラグと -q フラグが同じコマンド・ライン上に存在する場合は、指定されたフラグで最後のものが統計情報の表示を制御します。
- v 圧縮率を書き込みます。
- V 現行バージョンおよびコンパイル・オプションを標準エラーに書き込みます。
パラメーター
項目
ファイル 圧縮するファイルを指定します。
戻り値
エラーが発生すると、終了状況は 1 になります。compress コマンドがファイルを圧縮せずに終了すると、終了状況は 2 になります。ファイルを圧縮して終了した場合、compress コマンドは終了状況 0 で終了します。
compress コマンドは、以下のイベントが発生した場合、それを検出し終了状況 1 で終了します。
入力ファイルが通常のファイルでない場合。 入力ファイルの名前が .Z 拡張子を付けるには長すぎる場合。 入力ファイルを読み取ることができないか、あるいは、出力ファイルを書き込むことができない場合。
終了状況
項目
説明
0 正常終了。
1 エラーが発生しました。
2 サイズが大きくなったため (さらに -f フラグが指定されていなかったため) 1 つ以上のファイルが圧縮されませんでした。
2 エラーが発生しました。
https://www.ibm.com/docs/ja/aix/7.2?topic=c-compress-command