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

Linux基礎:圧縮アーカイブの作成と展開


圧縮アーカイブの作成と展開

 Linuxでは複数のファイルやディレクトリをひとつにまとめた「アーカイブ」を作成し、そのアーカイブ自体を圧縮することで効率的に保存や転送を行うことができます。これを 圧縮アーカイブ と呼びます。

 従来は tar コマンドでアーカイブを作成し、gzip コマンドで圧縮を行うなど、複数のコマンドを組み合わせる必要がありました。しかし、tar コマンドには圧縮機能が統合されており、1つのコマンドでアーカイブと圧縮を同時に実行できます。

 ここでは、tar コマンドを使った 圧縮アーカイブの作成と展開 の基本を、Rocky Linux の実例を交えながら解説します。

1.tarコマンドで圧縮アーカイブを作成する

1.1. 基本書式

圧縮アーカイブを作成する際の基本的な書式は以下の通りです。

書式

tar czvf アーカイブファイル名 まとめたいファイルやディレクトリ
オプション説明
c新しいアーカイブを作成する。
xアーカイブを展開する。
v詳細を表示する(verbose)
fアーカイブファイル名を指定する。
zgzip形式で圧縮または展開する。
jbzip2形式で圧縮または展開する。
Jxz形式で圧縮または展開する。
tアーカイブファイルの一覧を表示する。

※オプションの並び順に厳密な決まりはありません。

1.2. ディレクトリを圧縮アーカイブ化する

ここでは /etc ディレクトリをアーカイブにまとめ、gzip圧縮した例を示します。

【例1】/etc ディレクトリを圧縮アーカイブ化

[user@rocky9 ~]$ sudo tar czvf etc_backup.tar.gz /etc
/etc/
/etc/hosts
/etc/passwd
/etc/fstab
...(省略)

/etc ディレクトリ全体を etc_backup.tar.gz として保存できました。

1.3. 複数ファイルをまとめて圧縮

単一ディレクトリだけでなく、複数のファイルをまとめて圧縮できます。

【例2】ダミーファイルをまとめて圧縮

[user@rocky9 ~]$ tar czvf dataset.tar.gz dummy1.dat dummy2.img dummy3.bin
dummy1.dat
dummy2.img
dummy3.bin

dummy1.datdummy2.imgdummy3.bindataset.tar.gz に保存されました。

2.圧縮アーカイブの展開

2.1. gzip圧縮されたアーカイブの展開

作成した .tar.gz ファイルは、x オプションを付けて展開します。

【例3】圧縮アーカイブを展開

[user@rocky9 ~]$ tar xzvf dataset.tar.gz
dummy1.dat
dummy2.img
dummy3.bin

dataset.tar.gz が展開され、元のファイルが取り出せました。

2.2. 展開前に内容を確認する

展開せずにアーカイブの内容を確認する場合は t オプションを利用します。

【例4】内容一覧の表示

[user@rocky9 ~]$ tar tzvf dataset.tar.gz
-rw-r--r-- user/user 10485760 2025-08-26 01:08 dummy1.dat
-rw-r--r-- user/user 104857600 2025-08-26 01:10 dummy2.img
-rw-r--r-- user/user 52428800 2025-08-26 03:05 dummy3.bin

→ アーカイブ内部のファイル名やサイズが確認できます。

3.他の圧縮方式との比較

3.1. bzip2形式の利用

j オプションを指定すると、bzip2形式(拡張子 .tar.bz2)で圧縮できます。

【例5】bzip2形式で圧縮

[user@rocky9 ~]$ tar cjvf dataset.tar.bz2 dummy1.dat dummy2.img dummy3.bin

3.2. xz形式の利用

J オプションを指定すると、xz形式(拡張子 .tar.xz)で圧縮できます。

【例6】xz形式で圧縮

[user@rocky9 ~]$ tar cJvf dataset.tar.xz dummy1.dat dummy2.img dummy3.bin

→ xz形式はもっとも高い圧縮率を実現できますが、圧縮・展開の処理時間は長くなります。

まとめ

  • tar コマンドはアーカイブと圧縮を一度に行える便利なコマンド。
  • c(作成)、x(展開)、t(一覧)、f(ファイル指定)、z(gzip圧縮)が基本の組み合わせ。
  • 複数のファイルやディレクトリをまとめて効率的に保存・配布できる。
  • gzip(速度重視)、bzip2(圧縮率中程度)、xz(圧縮率高い)といった形式を目的に応じて使い分けることが重要。