このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Linuxコマンドの基本:ファイルを圧縮する:bzip2コマンド

ファイルを圧縮する:bzip2コマンド
ファイルの圧縮と展開は、システム管理やデータのバックアップにおいて重要な操作です。bzip2
コマンドは、gzip
と同様にファイルを圧縮・展開するためのツールですが、gzip
よりも高い圧縮率を持つため、データ量をより小さくすることができます。ここでは、bzip2
コマンドの基本的な使い方や特徴について、具体的な例や表を用いて分かりやすく解説します。

bzip2コマンドとは
- 目的:ファイルの圧縮・展開を行う。
- 特徴
・gzip
よりも圧縮率が高い。
・圧縮・展開に時間がかかる。
・ファイルサイズの削減を重視する場合に有効。 - 互換性
・gzip
コマンドと同じオプションを使用可能。
・gzip
の使い方を知っていればすぐに利用できる。
bzip2コマンドの基本的な使い方
ファイルを圧縮する
【書式】bzip2によるファイルの圧縮bzip2 <圧縮元ファイル>
例:ダミーファイルの作成と圧縮
ダミーファイルの作成 100MBのゼロフィルされたダミーファイルを作成します。
user01@ubuntu:~$ dd if=/dev/zero of=dummyfile bs=1M count=100
説明
dd
コマンドを使用して、/dev/zero
から100MBのゼロフィルされたファイルを作成。if=/dev/zero
:入力ファイルを/dev/zero
に指定。of=dummyfile
:出力ファイルをdummyfile
に指定。bs=1M
:ブロックサイズを1MBに設定。count=100
:100個のブロックを作成。
実行結果
100+0 records in
100+0 records out
104857600 bytes (105 MB, 100 MiB) copied, 0.0849886 s, 1.2 GB/s
ファイルの確認
user01@ubuntu:~$ ls -l
出力例
合計 102444
drwxrwxr-x 2 user01 user01 4096 11月 24 15:59 bin
-rw-rw-r-- 1 user01 user01 104857600 12月 3 00:29 dummyfile
...(以下省略)...
ファイルの圧縮
user01@ubuntu:~$ bzip2 dummyfile
圧縮後のファイル一覧
user01@ubuntu:~$ ls -l
出力例
合計 48
drwxrwxr-x 2 user01 user01 4096 11月 24 15:59 bin
-rw-rw-r-- 1 user01 user01 113 12月 3 00:29 dummyfile.bz2
...(以下省略)...
- 結果
・dummyfile
がdummyfile.bz2
に圧縮された。
・ファイルサイズが約100MBから約113バイトに大幅に縮小。 - 拡張子
・.bz2
が付加される。
ファイルを展開する
【書式】bzip2 -d <圧縮ファイル>
またはbunzip2 <圧縮ファイル>
例:ファイルの展開
1.ファイルの展開(bzip2 -d
を使用)
user01@ubuntu:~$ bzip2 -d dummyfile.bz2
展開後のファイル一覧
user01@ubuntu:~$ ls -l
出力例
合計 102444
drwxrwxr-x 2 user01 user01 4096 11月 24 15:59 bin
-rw-rw-r-- 1 user01 user01 104857600 12月 3 00:29 dummyfile
...(以下省略)...
2.ファイルの再圧縮と展開(bunzip2
を使用)
再度圧縮
user01@ubuntu:~$ bzip2 dummyfile
bunzip2
で展開
user01@ubuntu:~$ bunzip2 dummyfile.bz2
結果
dummyfile.bz2
が展開され、dummyfile
が復元された。
標準出力への出力と任意のファイル名での圧縮
-c
オプションを使用すると、圧縮データを標準出力に出力できます。
例:任意のファイル名で圧縮ファイルを作成
user01@ubuntu:~$ bzip2 -c dummyfile > custom_name.bz2
ファイル一覧の確認
user01@ubuntu:~$ ls -l
出力例
合計 102448
drwxrwxr-x 2 user01 user01 4096 11月 24 15:59 bin
-rw-rw-r-- 1 user01 user01 104857600 12月 3 00:29 dummyfile
-rw-rw-r-- 1 user01 user01 113 12月 3 00:34 custom_name.bz2
...(以下省略)...
- 結果
・dummyfile
を圧縮し、custom_name.bz2
という名前で保存。 - 注意点
・bzip2 -c
の出力はバイナリデータであり、直接ターミナルに表示するとエラーが表示されたり、文字化けを起こしたりします。
・必ずリダイレクトやパイプを使用して出力を処理してください。
bzip2コマンドの主なオプション一覧
オプション | 説明 |
---|---|
-d | ファイルを展開する(--decompress と同等) |
-c | 圧縮データを標準出力に出力する |
-k | 圧縮後も元のファイルを保持する |
-v | 詳細な情報を表示する |
-1 〜-9 | 圧縮レベルを指定する(-1 が高速、-9 が高圧縮) |
ここで作成したファイルを削除します
テストで作成したファイルを削除し、ディスクスペースを解放します。
user01@ubuntu:~$ rm custom_name.bz2 dummyfile
まとめ
bzip2
コマンドは、gzip
よりも高い圧縮率でファイルを圧縮・展開できるツールです。- 基本操作
・圧縮:bzip2 <ファイル名>
・展開:bzip2 -d <圧縮ファイル>
またはbunzip2 <圧縮ファイル>
- ポイント
・圧縮・展開時には元のファイルが削除されるため、必要に応じてバックアップを取るか、-k
オプションを使用して元のファイルを保持してください。
・gzip
と同じオプションを使用できるため、習得しやすい。 - 応用
・大容量データの圧縮に適しており、ディスクスペースの節約が可能。
・パイプライン処理やスクリプトでの活用など、さまざまな場面で利用できる。
bzip2
コマンドを活用することで、より効率的なファイル管理とデータ圧縮が可能になります。ぜひ実際にコマンドを試して、その効果を体感してみてください。