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

Linuxコマンドの基本:tarとbzip2を組み合わせる

tarとbzip2を組み合わせる

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

tarコマンドとbzip2形式の特徴

  • tarコマンド
    ・複数のファイルやディレクトリを一つのアーカイブファイルにまとめる。
    ・圧縮機能も持っており、gzipbzip2xz形式での圧縮が可能。
  • bzip2形式の特徴
    高圧縮率gzip形式よりも高い圧縮率を実現。
    処理速度:圧縮・展開にかかる時間はgzipより長い。
    用途:ファイルサイズの削減を重視する場合に適している。

tarコマンドでbzip2形式を利用する方法

 現代のtarコマンドには、bzip2形式でファイルを圧縮する機能が組み込まれています。tarbzip2形式を利用するには、jオプションを使用します。

オプションの比較

圧縮形式オプション説明
gzip-zgzipによる圧縮・展開を行う
bzip2-jbzip2による圧縮・展開を行う
xz-Jxzによる圧縮・展開を行う

実践: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 dir

bzip2形式

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形式が適している。
  • 応用
    ・大容量データのバックアップや転送において、ディスクスペースやネットワーク帯域の節約に役立つ。
    ・スクリプトや自動化処理での活用。

 これで、tarbzip2を組み合わせてファイルを効率的に圧縮・展開する方法の解説を終わります。実際にコマンドを試して、使い方に慣れていきましょう。