このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

【Linux】ファイルの解凍:bunzip2コマンド

bunzip2コマンドの概要

 「bunzip2」コマンドは、bzip2で圧縮されたファイルを解凍するためのコマンドです。bzip2で圧縮されたファイルは拡張子「.bz2」が付与されており、「bunzip2」を使用して元のファイル形式に戻すことができます。このコマンドは「bzip2 -d」と同等の機能を持ちます。

コマンドの主なオプション

オプション説明
-c解凍した内容を標準出力に出力します。元のファイルはそのまま残ります。
-f既存のファイルを強制的に上書きします。
-k解凍後も元の圧縮ファイルを削除せずに残します。
コマンドの主なオプション

コマンドの使用例と解説

ダミーファイルの作成

まず、「bunzip2」コマンドで解凍するためのbzip2で圧縮されたダミーファイルを作成します。

「dd」コマンドを使ってダミーファイルを作成します。

 「dd」コマンドは、指定したサイズのファイルを作成するために使用できます。以下のコマンドを実行して、1GBのダミーファイルを作成します。

・「dd if=/dev/zero of=dummyfile bs=1M count=1024」コマンドを実行します。

user01@ubuntu-vm:~$ dd if=/dev/zero of=dummyfile bs=1M count=1024
1024+0 レコード入力
1024+0 レコード出力
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 1.48019 s, 725 MB/s

ダミーファイルの確認

作成したダミーファイルを確認します。

・「ls -l」コマンドを実行します。

user01@ubuntu-vm:~$ ls -l
合計 1048616
-rw-rw-r-- 1 user01 user01 1073741824  5月 30 01:29 dummyfile
drwx------ 4 user01 user01       4096  5月  5 14:52 snap
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 ダウンロード
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 テンプレート
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 デスクトップ
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 ドキュメント
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 ビデオ
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 ピクチャ
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 ミュージック
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 公開

ダミーファイルをbzip2で圧縮

ダミーファイル「dummyfile」をbzip2で圧縮します。

・「bzip2 dummyfile」コマンドを実行し、「ls -l」コマンドで確認します。

user01@ubuntu-vm:~$ bzip2 dummyfile
user01@ubuntu-vm:~$ ls -l
合計 40
-rw-rw-r-- 1 user01 user01  785  5月 30 01:29 dummyfile.bz2
drwx------ 4 user01 user01 4096  5月  5 14:52 snap
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ダウンロード
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 テンプレート
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 デスクトップ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ドキュメント
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ビデオ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ピクチャ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ミュージック
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 公開

1.ファイルの解凍

・「bunzip2 dummyfile.bz2」コマンドを実行し、「ls -l」コマンドで確認します。

 このコマンドは、「dummyfile.bz2」を解凍して元の「dummyfile」を再現します。元の圧縮ファイル「dummyfile.bz2」は削除され、「dummyfile」が生成されます。

user01@ubuntu-vm:~$ bunzip2 dummyfile.bz2
user01@ubuntu-vm:~$ ls -l
合計 1048616
-rw-rw-r-- 1 user01 user01 1073741824  5月 30 01:29 dummyfile
drwx------ 4 user01 user01       4096  5月  5 14:52 snap
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 ダウンロード
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 テンプレート
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 デスクトップ
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 ドキュメント
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 ビデオ
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 ピクチャ
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 ミュージック
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 公開

2.標準出力に解凍結果を出力

まず、「dummyfile」をbzip2で圧縮しておきます。

・「bzip2 dummyfile」コマンドを実行し、「ls -l」コマンドで確認します。

user01@ubuntu-vm:~$ bzip2 dummyfile
user01@ubuntu-vm:~$ ls -l
合計 40
-rw-rw-r-- 1 user01 user01  785  5月 30 01:29 dummyfile.bz2
drwx------ 4 user01 user01 4096  5月  5 14:52 snap
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ダウンロード
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 テンプレート
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 デスクトップ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ドキュメント
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ビデオ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ピクチャ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ミュージック
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 公開

標準出力に解凍結果を出力した内容をファイルにリダイレクトします。

・「bunzip2 -c dummyfile.bz2 > dummyfile」コマンドを実行し、「ls -l」コマンドで確認します。

 このコマンドは、「dummyfile.bz2」を解凍し、その内容を標準出力に出力します。元の「dummyfile.bz2」はそのまま残り、解凍結果が「dummyfile」として保存されます。

user01@ubuntu-vm:~$ bunzip2 -c dummyfile.bz2 > dummyfile
user01@ubuntu-vm:~$ ls -l
合計 40
-rw-rw-r-- 1 user01 user01 1073741824  5月 30 01:33 dummyfile
-rw-rw-r-- 1 user01 user01        785  5月 30 01:29 dummyfile.bz2
drwx------ 4 user01 user01 4096  5月  5 14:52 snap
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ダウンロード
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 テンプレート
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 デスクトップ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ドキュメント
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ビデオ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ピクチャ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ミュージック
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 公開

3.既存のファイルを強制的に上書き

・「bunzip2 -f dummyfile.bz2」コマンドを実行し、「ls -l」コマンドで確認します。

 このコマンドは、「dummyfile.bz2」を解凍し、既存の「dummyfile」を強制的に上書きします。既に「dummyfile」が存在する場合でも、強制的に上書きされます。

user01@ubuntu-vm:~$ bunzip2 -f dummyfile.bz2
user01@ubuntu-vm:~$ ls -l
合計 1048616
-rw-rw-r-- 1 user01 user01 1073741824  5月 30 01:29 dummyfile
drwx------ 4 user01 user01       4096  5月  5 14:52 snap
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 ダウンロード
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 テンプレート
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 デスクトップ
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 ドキュメント
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 ビデオ
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 ピクチャ
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 ミュージック
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 公開

4.解凍後も元の圧縮ファイルを残す

まず、「dummyfile」をbzip2で圧縮しておきます。

・「bzip2 dummyfile」コマンドを実行し、「ls -l」コマンドで確認します。

user01@ubuntu-vm:~$ bzip2 dummyfile
user01@ubuntu-vm:~$ ls -l
合計 40
-rw-rw-r-- 1 user01 user01  785  5月 30 01:29 dummyfile.bz2
drwx------ 4 user01 user01 4096  5月  5 14:52 snap
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ダウンロード
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 テンプレート
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 デスクトップ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ドキュメント
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ビデオ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ピクチャ
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 ミュージック
drwxr-xr-x 2 user01 user01 4096  1月  1 10:51 公開

解凍後も元の圧縮ファイルを残すように「dummyfile.bz2」を解凍します。

・「bunzip2 -k dummyfile.bz2」コマンドを実行し、「ls -l」コマンドで確認します。

 このコマンドは、「dummyfile.bz2」を解凍して元の「dummyfile」を再現しますが、元の「dummyfile.bz2」もそのまま残ります。

user01@ubuntu-vm:~$ bunzip2 -k dummyfile.bz2
user01@ubuntu-vm:~$ ls -l
合計 1048620
-rw-rw-r-- 1 user01 user01 1073741824  5月 30 01:29 dummyfile
-rw-rw-r-- 1 user01 user01        785  5月 30 01:29 dummyfile.bz2
drwx------ 4 user01 user01       4096  5月  5 14:52 snap
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 ダウンロード
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 テンプレート
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 デスクトップ
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 ドキュメント
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 ビデオ
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 ピクチャ
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 ミュージック
drwxr-xr-x 2 user01 user01       4096  1月  1 10:51 公開

5.作成したファイルの削除

この演習で作成したファイルを削除します。

・「rm dummyfile*」コマンドを実行して、「ls」コマンドで削除されたかを確認します。

user01@ubuntu-vm:~$ rm dummyfile*
user01@ubuntu-vm:~$ ls
snap          テンプレート  ドキュメント  ピクチャ      公開
ダウンロード  デスクトップ  ビデオ        ミュージック

まとめ

 「bunzip2」コマンドは、bzip2で圧縮されたファイルを解凍するための強力なツールです。以下の表を参考に、具体的な使用例に合わせて適切なオプションを使用してください。

これらのオプションを駆使することで、効率的にファイルの解凍と管理を行うことができます。

オプション説明
-c解凍した内容を標準出力に出力します。元のファイルはそのまま残ります。
-f既存のファイルを強制的に上書きします。
-k解凍後も元の圧縮ファイルを削除せずに残します。
bunzip2コマンドのオプション