Linux / コマンド / bzip2 - ファイルをbzip2形式で圧縮する

bzip2は個別ファイルを.bz2形式で圧縮します。基本動作は元のファイルを圧縮ファイルに置き換えることであり、ディレクトリをまとめる機能はありません。

bzip2はファイルごとに別々の圧縮結果を作ります。元のファイルを残す場合は-k、出力ストリームを別のファイルに書き込む場合は-cを使用します。複数のファイルとディレクトリを1つのファイルにまとめる場合は、tar -cjfのようにtarと組み合わせます。

基本的な文法

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

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

使用例

元のファイルを保持しながら圧縮

既存のdata.csvを用意し、出力先のdata.csv.bz2がないことを確認します。次の例では圧縮後もdata.csvが残ります。

bzip2 -k data.csv

別のファイル名で圧縮

-cで標準出力へ書き出し、シェルの>で保存します。このリダイレクトはbzip2の上書き確認を経ずに既存ファイルを空にするため、出力名を事前に確認してください。

bzip2 -c data.csv > data-copy.csv.bz2

圧縮ファイルのチェック

ファイルを実際に展開せずに整合性を検査します。

bzip2 -t data.csv.bz2

bzip2 圧縮ファイルを確認する

bzip2 はファイルを .bz2 形式で圧縮し、基本的に元のファイルを置き換えます。元のファイルを保持する場合は、標準出力に圧縮結果を出力して新しいファイルに保存できます。

bzip2 -c note.txt > note.txt.bz2
bzip2 -t note.txt.bz2
ls note.txt*

例のファイル一覧:

note.txt  note.txt.bz2

bzip2 -tはデータを内部で解凍して整合性を検査し、復元したファイルは保存しません。成功時は通常何も表示せず、正常終了します。検査は暗号学的な改ざん検証ではなく、重要な資料は実際の復元と原本との比較も行います。復元方法はbunzip2による解凍、複数ファイルの格納はtarによるアーカイブを参照してください。

主なオプションと形式

オプション・形式 説明
-k 入力ファイルを保持します。
-c 結果を標準出力に送ります。
-t 圧縮データを検査します。
-1 ... -9 圧縮ブロックサイズを選択します。
-v 処理の詳細情報を表示します。

使用する際の注意点

基本圧縮は元のファイルを削除するため、保持が必要な場合は-kを指定してください。bzip2は既存の出力ファイルを基本的に上書きしませんが、-fを使うと強制的に上書きできます。圧縮は暗号化ではなく、非常に小さいファイルは圧縮後に逆に大きくなることもあります。

よくある質問

bzip2でdata/ディレクトリを圧縮できますか?

bzip2はディレクトリを直接1つのファイルにまとめることはできません。tar -cjf data.tar.bz2 data/のようにtarを使用してください。

公式ドキュメント

オプションの正確な動作や実装ごとの違いは、bzip2公式マニュアルで確認できます。