Bunzip2 - Linuxコマンド - Unixコマンド

bzip2、bunzip2 - ブロックソートファイル圧縮プログラム、v1.0.2
bzcat - ファイルをstdoutに解凍する
bzip2recover - 破損したbzip2ファイルからデータを回復する

シノプシス

bzip2 [ -cdfkqstvzVL123456789 ] [ ファイル名... ]
bunzip2 [ -fkvsVL ] [ ファイル名... ]
bzcat [ -s ] [ ファイル名... ]
bzip2recover filename

DESCRIPTION

bzip2は、Burrows-Wheelerブロックソートテキスト圧縮アルゴリズムとハフマンコーディングを使用してファイルを圧縮します。 圧縮は一般的に従来のLZ77 / LZ78ベースのコンプレッサよりもかなり優れており、統計的圧縮器のPPMファミリの性能に近づいています。

コマンドラインオプションはGNU gzipのものと意図的に非常によく似ていますが同一ではありません。

bzip2は、コマンドラインフラグに付随するファイル名のリストを必要とします。 各ファイルは、 "original_name.bz2"という名前の圧縮されたバージョンのファイルに置き換えられます。 各圧縮ファイルは、対応するオリジナルと同じ修正日、許可、および可能であれば所有権を持ち、復元時にこれらのプロパティを正しく復元することができます。 ファイル名の扱いは、オリジナルのファイル名、パーミッション、所有権、またはこれらの概念が欠落しているファイルシステムの日付を保持するメカニズムがないこと、またはMS-DOSなどのファイル名の長さの制限が深刻であるという意味で単純です。

bzip2bunzip2はデフォルトで既存のファイルを上書きしません。 これを実行するには、-fフラグを指定します。

ファイル名が指定されていない場合、 bzip2は標準入力から標準出力に圧縮します。 この場合、 bzip2は、圧縮された出力を端末に書き込むことを拒否します。これは、完全には理解できないため、無意味です。

bunzip2 (またはbzip2 -d)は 、指定されたすべてのファイルを解凍します。 bzip2によって作成されなかったファイルは検出され、無視され、警告が発行されます。 bzip2は圧縮されたファイルのファイル名を次のように推測します。


filename.bz2はファイル名になります
filename.bzはファイル名になります
filename.tbz2はfilename.tarになります。
filename.tbzはfilename.tarになります
anyothernameはanyothername.outになります。

ファイルが認識された末尾、 .bz2、 .bz、 .tbz2または.tbzのいずれかで終了しない場合 bzip2は元のファイルの名前を推測できないと訴え、元の名前に.outを付加します。

圧縮と同様に、ファイル名を指定しないと、標準入力から標準出力に圧縮解除されます。

bunzip2は、2つ以上の圧縮ファイルを連結したファイルを正しく解凍します。 結果は、対応する非圧縮ファイルの連結です。 連結された圧縮ファイルの整合性テスト(-t)もサポートされています。

また、-cフラグを指定することによって、ファイルを標準出力に圧縮または解凍することもできます。 このように複数のファイルを圧縮して圧縮解除することができます。 結果の出力はstdoutに順番に送られます。 このように複数のファイルを圧縮すると、複数の圧縮ファイル表現を含むストリームが生成されます。 このようなストリームは、 bzip2バージョン0.9.0以降でのみ正しく圧縮解除できます。 以前のバージョンのbzip2は、ストリーム内の最初のファイルの解凍後に停止します。

bzcat (またはbzip2 -dc)は指定されたすべてのファイルを標準出力に解凍します。

bzip2は環境変数BZIP2BZIPから順に引数を読み込み、コマンド行から引数を読み込む前にそれらを処理します。 これにより、デフォルトの引数を提供する便利な方法が得られます。

圧縮ファイルが元のファイルよりもわずかに大きい場合でも、圧縮は常に実行されます。 圧縮メカニズムが50バイトの領域で一定のオーバヘッドを有するので、約100バイト未満のファイルはより大きくなる傾向がある。 ランダムデータ(ほとんどのファイル圧縮器の出力を含む)は、バイトあたり約8.05ビットでコーディングされ、約0.5%の拡張を与えます。

保護のためのセルフチェックとして、 bzip2は32ビットCRCを使用して、ファイルの圧縮解除されたバージョンがオリジナルと同一であることを確認します。 これは、圧縮されたデータの破損、 bzip2の検出されないバグ(恐らく非常にありそうもない)に対して警戒します。 検出されないデータ破損の可能性は微視的であり、処理されるファイルごとに40億回の確率があります。 ただし、圧縮解除時にチェックが行われるので、何か問題があるとしか伝えられません。 元の圧縮されていないデータを回復するのに役立つものではありません。 bzip2recoverを使用すると、破損したファイルからデータを復元できます。

戻り値:正常終了の場合は0、環境問題(ファイルが見つからない場合、無効なフラグ、入出力エラー、&c)、1は破損した圧縮ファイルを示す場合、3は内部整合性エラー(バグなど) bzip2をパニックにします。

オプション

-c --stdout

標準出力に圧縮または解凍します。

-d --Decompress

強制減圧。 bzip2、 bunzip2bzcatは実際には同じプログラムで、どのようなアクションを取るべきかは、どの名前が使われているかに基づいて決まります。 このフラグはそのメカニズムを無効にし、 bzip2を強制的に解凍します。

-z --compress

-dの補数は、呼び出し名にかかわらず圧縮を強制します。

-t - テスト

指定したファイルの整合性をチェックしますが、解凍はしないでください。 これは実際に試行の減圧を実行し、結果を捨てます。

-f --force

出力ファイルを強制的に上書きします。 通常、 bzip2は既存の出力ファイルを上書きしません。 また、 bzip2が強制的にファイルへのハードリンクを解除するよう強制します。

bzip2は通常、正しいマジックヘッダバイトを持たないファイルの解凍を拒否します。 ただし、強制(-f)の場合、そのファイルは変更されずに渡されます。 これがGNU gzipの動作です。

-k --keep

圧縮または解凍中に入力ファイルを保持します(削除しないでください)。

-s --small

圧縮、解凍、およびテストのために、メモリ使用量を減らす。 ファイルは圧縮解除され、ブロックバイトあたり2.5バイトしか必要としない変更されたアルゴリズムを使用してテストされます。 これは、通常の速度の約半分であるにもかかわらず、2300kのメモリですべてのファイルを解凍できることを意味します。

圧縮中、-sは200kのブロックサイズを選択します。これにより、圧縮率を犠牲にして、メモリ使用量がほぼ同じ数値に制限されます。 要するに、マシンのメモリが不足している(8メガバイト以下)場合は、すべてに-sを使用します。 下記のメモリ管理を参照してください。

-q --quiet

重要でない警告メッセージを抑制します。 I / Oエラーやその他の重要なイベントに関するメッセージは表示されません。

-v - 詳細

Verboseモード - 処理される各ファイルの圧縮率を表示します。 さらに、-vは冗長レベルを高め、主に診断目的で関心のある多くの情報を吐き出します。

-L --license -V --version

ソフトウェアのバージョン、使用条件を表示します。

-1(または-fast)から-9(または--best)

ブロックサイズを100 k、200 k ... 900 kに設定します。 解凍時には効果がありません。 下記のメモリ管理を参照してください。 --fastと - bestエイリアスは、主にGNU gzip互換性のためのものです。 特に、--fastは物事を著しく速くするものではありません。 そして、--bestは単にデフォルトの動作を選択します。

たとえダッシュで始まっていても、その後のすべての引数をファイル名として扱います。 これは、名前がダッシュで始まるファイルを処理できるようになっています。たとえば、bzip2 - -myfilenameです。

--repetitive-fast --repetitive-best

これらのフラグはバージョン0.9.5以降では冗長です。 以前のバージョンではソートアルゴリズムの動作を粗く制御できましたが、これは時に便利でした。 0.9.5以上には、これらのフラグを無関係にする改良されたアルゴリズムがあります。

重要: manコマンド%man )を使用して、特定のコンピュータでコマンドがどのように使用されているかを確認してください。

関連記事