このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Linuxコマンドの基本:tarとbzip2を組み合わせる

tarとbzip2を組み合わせる
ファイルやディレクトリを効率的にまとめて高圧縮率で保存・展開する方法として、tarコマンドとbzip2コマンドの組み合わせが広く利用されています。ここでは、tarとbzip2を組み合わせてファイルを圧縮・展開する方法について、具体的な例や表を用いて分かりやすく解説します。

tarコマンドとbzip2形式の特徴
- tarコマンド
・複数のファイルやディレクトリを一つのアーカイブファイルにまとめる。
・圧縮機能も持っており、gzipやbzip2、xz形式での圧縮が可能。 - bzip2形式の特徴
・高圧縮率:gzip形式よりも高い圧縮率を実現。
・処理速度:圧縮・展開にかかる時間はgzipより長い。
・用途:ファイルサイズの削減を重視する場合に適している。
tarコマンドでbzip2形式を利用する方法
現代のtarコマンドには、bzip2形式でファイルを圧縮する機能が組み込まれています。tarでbzip2形式を利用するには、jオプションを使用します。
オプションの比較
| 圧縮形式 | オプション | 説明 |
|---|---|---|
| gzip | -z | gzipによる圧縮・展開を行う |
| bzip2 | -j | bzip2による圧縮・展開を行う |
| xz | -J | xzによる圧縮・展開を行う |
実践:tarとbzip2を使った圧縮
ステップ1:サンプルディレクトリとファイルの作成
user01@ubuntu:~$ mkdir dir
user01@ubuntu:~$ touch dir/file-{1..9}.txt
user01@ubuntu:~$ ls dir
file-1.txt file-3.txt file-5.txt file-7.txt file-9.txt
file-2.txt file-4.txt file-6.txt file-8.txt説明
dirというディレクトリを作成。file-1.txtからfile-9.txtまでのファイルを作成。
ステップ2:tarとbzip2で圧縮ファイルを作成
user01@ubuntu:~$ tar cjf dir.tar.bz2 dirオプションの説明
c:新規アーカイブの作成。j:bzip2による圧縮。f:ファイル名の指定。
結果の確認
user01@ubuntu:~$ ls -l
合計 52
drwxrwxr-x 2 user01 user01 4096 12月 4 00:03 dir
-rw-rw-r-- 1 user01 user01 224 12月 4 00:03 dir.tar.bz2
...(以下省略)...説明
dir.tar.bz2という圧縮ファイルが作成された。- ファイルサイズが小さくなっている。
圧縮ファイルの展開
user01@ubuntu:~$ tar xjf dir.tar.bz2オプションの説明
x:アーカイブの展開。j:bzip2による展開。f:ファイル名の指定。
gzip形式との違い
gzip形式を利用する際はzオプションを使用しましたが、bzip2形式ではjオプションに変えるだけで利用できます。
gzip形式
tar czf dir.tar.gz dirbzip2形式
tar cjf dir.tar.bz2 dirその他の圧縮形式:xz形式
xz形式とは
特徴
- bzip2形式よりもさらに高い圧縮率を持つ。
- 圧縮・展開に非常に時間がかかる。
- ファイルサイズを極限まで小さくしたい場合に有効。
xz形式を使った圧縮
コマンド
user01@ubuntu:~$ tar cJf dir.tar.xz dirオプションの説明
c:新規アーカイブの作成。J:xzによる圧縮。f:ファイル名の指定。
結果の確認
user01@ubuntu:~$ ls -l
合計 56
drwxrwxr-x 2 user01 user01 4096 12月 4 00:03 dir
-rw-rw-r-- 1 user01 user01 224 12月 4 00:03 dir.tar.bz2
-rw-rw-r-- 1 user01 user01 228 12月 4 00:06 dir.tar.xz
...(以下省略)...説明
dir.tar.xzという圧縮ファイルが作成された。- ファイルサイズがさらに小さくなります。※今回は空のファイルを圧縮しているため、bz2よりも少しファイルサイズが大きくなっています。
圧縮形式の比較
| 圧縮形式 | オプション | 圧縮率 | 圧縮速度 | 特徴 |
|---|---|---|---|---|
| gzip | -z | 低 | 高速 | バランスが良く、汎用的に使われる |
| bzip2 | -j | 中 | 中速 | gzipより高圧縮率だが、速度は遅い |
| xz | -J | 高 | 非常に遅い | 圧縮率最重視だが、時間がかかる |
作成したファイルを削除
作成したファイルやディレクトリを削除してクリーンアップします。
user01@ubuntu:~$ rm -rf dir dir.tar.bz2 dir.tar.xz- 注意:
rm -rfコマンドは強力な削除コマンドです。削除するファイルやディレクトリを十分に確認してから実行してください。
まとめ
- tarとbzip2の組み合わせ
・tarコマンドのjオプションを使用して、bzip2形式で圧縮・展開が可能。
・複数のファイルやディレクトリを一つにまとめて高圧縮率で保存できる。 - 他の圧縮形式への対応
・tarコマンドはgzip(-z)、bzip2(-j)、xz(-J)形式に対応。
・用途に応じて適切な圧縮形式を選択可能。 - 圧縮形式の選択
・速度重視:gzip形式が適している。
・圧縮率重視:xz形式が適している。
・バランス重視:bzip2形式が適している。 - 応用
・大容量データのバックアップや転送において、ディスクスペースやネットワーク帯域の節約に役立つ。
・スクリプトや自動化処理での活用。
これで、tarとbzip2を組み合わせてファイルを効率的に圧縮・展開する方法の解説を終わります。実際にコマンドを試して、使い方に慣れていきましょう。
