Linux / コマンド / bunzip2 - bzip2 圧縮ファイルを解凍する

bunzip2は.bz2ファイルを解凍します。通常、圧縮ファイルは元のファイルに置き換えられ、bzip2 -dのような目的で使用されます。

sample.txt.bz2は通常sample.txtへ解凍します。bzip2の-dと同じ動作で、成功すると入力の圧縮ファイルを削除します。-kで入力を残せます。.tar.bz2の中のファイルをまとめて取り出す作業は、tarでの展開です。

基本的な文法

bunzip2 [オプション] ファイル.bz2 [ファイル.bz2 ...]

インストールされている実装とオプションは、配布版によって異なる場合があります。man bunzip2で現在のシステムの説明を確認してください。

使用例

基本の解凍

各例は別の方法です。data.csv.bz2を用意し、解凍先のdata.csvがまだないことを確認して選びます。次のコマンドは成功すると圧縮ファイルを削除するため、その後で別の例を試す場合は入力を用意し直してください。

bunzip2 data.csv.bz2

圧縮ファイルを保持

元の.bz2を削除せずに解凍します。

bunzip2 -k data.csv.bz2

標準出力に復元

標準出力へ復元し、headで先頭10行を表示します。圧縮ファイルは残ります。ただし、headが先にパイプを閉じるとbunzip2が途中終了する場合があり、全体の整合性検査にはなりません。全体の検査にはbzip2 -tを使います。

bunzip2 -c data.csv.bz2 | head

解凍とファイル名の衝突

bunzip2は.bz2ファイルを解き、通常圧縮ファイルを削除します。次の場合は、元の名前と同じ名前がない別のディレクトリで実行することを前提としています。

bunzip2 note.txt.bz2
ls -l note.txt

成功時は最初のコマンドが通常何も表示せず、次のlsで復元したファイルが見えます。既存の同名ファイルがあると通常は上書きせずエラーになります。-fによる強制上書きを安易に追加せず、出力先と保存したい内容を確認してください。

圧縮ファイルを保持し、内容のみを確認したい場合は、bunzip2 -c note.txt.bz2を使用できます。大きなファイルをそのままターミナルに出力せず、適切なファイルやパイプに送るかどうかを先に決めてください。解凍後にファイルの内容とチェックサムを確認することが安全です。

主なオプションと形式

オプション・形式 説明
-k 圧縮された入力ファイルを保持します。
-c 解凍されたデータを標準出力に送ります。
-f 既存の対象ファイルを強制的に上書きできます。
-v 処理過程を詳しく表示します。
-s より少ないメモリで解凍を試みます。

使用する際の注意点

-fは既存の復元ファイルを上書きする可能性があるため、使用前にファイル名を確認してください。bunzip2はZIPファイルを解凍するコマンドではなく、.tar.bz2内の複数のファイルを直接取り出すこともできません。tarアーカイブ全体を展開するにはtar -xjfを使用してください。

よくある質問

bunzip2で.tar.bz2を解凍すると何が残りますか?

bzip2圧縮が解除された.tarアーカイブが残ります。その中のファイルはtarで抽出してください。

公式ドキュメント

オプションの正確な動作と実装ごとの違いは、bunzip2関連公式ドキュメントで確認できます。