このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Linux】アーカイブの作成と展開:tarコマンド
tarコマンドの概要
「tar
」コマンドは、複数のファイルやディレクトリを一つのアーカイブファイルにまとめたり、まとめられたアーカイブファイルを展開したりするために使用されるLinuxのユーティリティです。tar
は、Tape Archiveの略で、もともとはテープバックアップのために作られましたが、現在では広くファイルのアーカイブと展開に使われています。
主なオプションと説明
【構文】tar [オプション[アーカイブ名]] [ファイルパス]
「tar
」コマンドのオプションは、「-」を付けても付けなくとも動作します。
オプション | 説明 |
---|---|
c | 新しいアーカイブを作成する(create) |
t | アーカイブの内容を一覧表示する(list) |
x | アーカイブを展開する(extract) |
f | アーカイブファイル名を指定する(file) |
v | 詳細情報を表示する(verbose) |
z | gzip形式で圧縮されたアーカイブを処理する |
j | bzip2形式で圧縮されたアーカイブを処理する |
J | xz形式で圧縮されたアーカイブを処理する |
コマンドの使用例と解説
ファイルとディレクトリの作成
まず、アーカイブするファイルとディレクトリを作成し、「ls」コマンドで作成したファイルとディレクトリを確認します。
以下のコマンドを実行します。
- 「
date | tee file1.txt file2.txt
」コマンド - 「
mkdir directory
」コマンド - 「
ls
」コマンド
user01@ubuntu-vm:~$ date | tee file1.txt file2.txt
2024年 6月 2日 日曜日 00:36:01 JST
user01@ubuntu-vm:~$ mkdir directory
user01@ubuntu-vm:~$ ls
directory file2.txt ダウンロード デスクトップ ビデオ ミュージック
file1.txt snap テンプレート ドキュメント ピクチャ 公開
1.アーカイブの作成
・「tar cvf archive.tar file1.txt file2.txt directory/
」コマンドを実行し、「ls -l
」コマンドで確認します。
user01@ubuntu-vm:~$ tar cvf archive.tar file1.txt file2.txt directory/
file1.txt
file2.txt
directory/
user01@ubuntu-vm:~$ ls -l
合計 60
-rw-rw-r-- 1 user01 user01 10240 6月 2 02:21 archive.tar
drwxrwxr-x 2 user01 user01 4096 6月 2 02:20 directory
-rw-rw-r-- 1 user01 user01 43 6月 2 02:20 file1.txt
-rw-rw-r-- 1 user01 user01 43 6月 2 02:20 file2.txt
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 公開
c
:新しいアーカイブを作成v
:詳細情報を表示f
:アーカイブファイル名を指定archive.tar
:作成するアーカイブファイル名file1.txt
、file2.txt
、directory/
:アーカイブに含めるファイルとディレクトリ
2.アーカイブの内容を一覧表示
・「tar tvf archive.tar
」コマンドを実行し、「ls -l
」コマンドで確認します。
user01@ubuntu-vm:~$ tar tvf archive.tar
-rw-rw-r-- user01/user01 43 2024-06-02 02:20 file1.txt
-rw-rw-r-- user01/user01 43 2024-06-02 02:20 file2.txt
drwxrwxr-x user01/user01 0 2024-06-02 02:20 directory/
t
:アーカイブの内容を一覧表示v
:詳細情報を表示f
:アーカイブファイル名を指定archive.tar
:一覧表示するアーカイブファイル名
3.アーカイブの展開
まず、「 file1.txt
」、「file2.txt
」、「directory
」 を削除しておきます。
・「rm -r file* directory
」コマンドを実行し、「ls
」コマンドで確認します。
user01@ubuntu-vm:~$ rm -r file* directory
user01@ubuntu-vm:~$ ls
archive.tar ダウンロード デスクトップ ビデオ ミュージック
snap テンプレート ドキュメント ピクチャ 公開
・「tar xvf archive.tar
」コマンドを実行し、「ls -l
」コマンドで確認します。
user01@ubuntu-vm:~$ tar xvf archive.tar
file1.txt
file2.txt
directory/
user01@ubuntu-vm:~$ ls -l
合計 60
-rw-rw-r-- 1 user01 user01 10240 6月 2 02:21 archive.tar
drwxrwxr-x 2 user01 user01 4096 6月 2 02:20 directory
-rw-rw-r-- 1 user01 user01 43 6月 2 02:20 file1.txt
-rw-rw-r-- 1 user01 user01 43 6月 2 02:20 file2.txt
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 公開
x
:アーカイブを展開v
:詳細情報を表示f
:アーカイブファイル名を指定archive.tar
:展開するアーカイブファイル名
4.gzip形式で圧縮されたアーカイブの作成
・「tar cvfz archive.tar.gz file1.txt file2.txt directory/
」コマンドを実行し、「ls -l
」コマンドで確認します。
user01@ubuntu-vm:~$ tar cvfz archive.tar.gz file1.txt file2.txt directory/
file1.txt
file2.txt
directory/
user01@ubuntu-vm:~$ ls -l
合計 64
-rw-rw-r-- 1 user01 user01 10240 6月 2 02:21 archive.tar
-rw-rw-r-- 1 user01 user01 222 6月 2 02:32 archive.tar.gz
drwxrwxr-x 2 user01 user01 4096 6月 2 02:20 directory
-rw-rw-r-- 1 user01 user01 43 6月 2 02:20 file1.txt
-rw-rw-r-- 1 user01 user01 43 6月 2 02:20 file2.txt
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 公開
z
:gzip形式で圧縮
他のオプションは上記と同じ
5.gzip形式で圧縮されたアーカイブの展開
まず、「 file1.txt
」、「file2.txt
」、「directory
」 を削除しておきます。
・「rm -r file* directory
」コマンドを実行し、「ls
」コマンドで確認します。
user01@ubuntu-vm:~$ rm -r file* directory
user01@ubuntu-vm:~$ ls
archive.tar ダウンロード ドキュメント ミュージック
archive.tar.gz テンプレート ビデオ 公開
snap デスクトップ ピクチャ
・「tar xvzf archive.tar.gz」コマンドを実行し、「ls -l
」コマンドで確認します。
user01@ubuntu-vm:~$ tar xvzf archive.tar.gz
file1.txt
file2.txt
directory/
user01@ubuntu-vm:~$ ls -l
合計 64
-rw-rw-r-- 1 user01 user01 10240 6月 2 02:21 archive.tar
-rw-rw-r-- 1 user01 user01 222 6月 2 02:32 archive.tar.gz
drwxrwxr-x 2 user01 user01 4096 6月 2 02:20 directory
-rw-rw-r-- 1 user01 user01 43 6月 2 02:20 file1.txt
-rw-rw-r-- 1 user01 user01 43 6月 2 02:20 file2.txt
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 公開
z
:gzip形式で圧縮されたアーカイブを処理
他のオプションは上記と同じ
6.bzip2形式で圧縮されたアーカイブの作成
・「tar cvfj archive.tar.bz2 file1.txt file2.txt directory/
」コマンドを実行し、「ls -l
」コマンドで確認します。
user01@ubuntu-vm:~$ tar cvfj archive.tar.bz2 file1.txt file2.txt directory/
file1.txt
file2.txt
directory/
user01@ubuntu-vm:~$ ls -l
合計 68
-rw-rw-r-- 1 user01 user01 10240 6月 2 02:21 archive.tar
-rw-rw-r-- 1 user01 user01 253 6月 2 02:39 archive.tar.bz2
-rw-rw-r-- 1 user01 user01 222 6月 2 02:32 archive.tar.gz
drwxrwxr-x 2 user01 user01 4096 6月 2 02:20 directory
-rw-rw-r-- 1 user01 user01 43 6月 2 02:20 file1.txt
-rw-rw-r-- 1 user01 user01 43 6月 2 02:20 file2.txt
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 公開
j
:bzip2形式で圧縮
他のオプションは上記と同じ
7.bzip2形式で圧縮されたアーカイブの展開
まず、「 file1.txt
」、「file2.txt
」、「directory
」 を削除しておきます。
・「rm -r file* directory
」コマンドを実行し、「ls
」コマンドで確認します。
user01@ubuntu-vm:~$ rm -r file* directory
user01@ubuntu-vm:~$ ls
archive.tar snap デスクトップ ピクチャ
archive.tar.bz2 ダウンロード ドキュメント ミュージック
archive.tar.gz テンプレート ビデオ 公開
・「tar xvfj archive.tar.bz2
」コマンドを実行し、「ls -l
」コマンドで確認します。
user01@ubuntu-vm:~$ tar xvfj archive.tar.bz2
file1.txt
file2.txt
directory/
user01@ubuntu-vm:~$ ls -l
合計 68
-rw-rw-r-- 1 user01 user01 10240 6月 2 02:21 archive.tar
-rw-rw-r-- 1 user01 user01 253 6月 2 02:39 archive.tar.bz2
-rw-rw-r-- 1 user01 user01 222 6月 2 02:32 archive.tar.gz
drwxrwxr-x 2 user01 user01 4096 6月 2 02:20 directory
-rw-rw-r-- 1 user01 user01 43 6月 2 02:20 file1.txt
-rw-rw-r-- 1 user01 user01 43 6月 2 02:20 file2.txt
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 公開
j
:bzip2形式で圧縮されたアーカイブを処理
他のオプションは上記と同じ
8.xz形式で圧縮されたアーカイブの作成
・「tar cvfJ archive.tar.xz file1.txt file2.txt directory/
」コマンドを実行し、「ls -l
」コマンドで確認します。
user01@ubuntu-vm:~$ tar cvfJ archive.tar.xz file1.txt file2.txt directory/
file1.txt
file2.txt
directory/
user01@ubuntu-vm:~$ ls -l
合計 72
-rw-rw-r-- 1 user01 user01 10240 6月 2 02:21 archive.tar
-rw-rw-r-- 1 user01 user01 253 6月 2 02:39 archive.tar.bz2
-rw-rw-r-- 1 user01 user01 222 6月 2 02:32 archive.tar.gz
-rw-rw-r-- 1 user01 user01 248 6月 2 02:44 archive.tar.xz
drwxrwxr-x 2 user01 user01 4096 6月 2 02:20 directory
-rw-rw-r-- 1 user01 user01 43 6月 2 02:20 file1.txt
-rw-rw-r-- 1 user01 user01 43 6月 2 02:20 file2.txt
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 公開
J
:xz形式で圧縮
他のオプションは上記と同じ
9.xz形式で圧縮されたアーカイブの展開
まず、「 file1.txt
」、「file2.txt
」、「directory
」 を削除しておきます。
・「rm -r file* directory
」コマンドを実行し、「ls
」コマンドで確認します。
user01@ubuntu-vm:~$ rm -r file* directory
user01@ubuntu-vm:~$ ls
archive.tar archive.tar.xz テンプレート ビデオ 公開
archive.tar.bz2 snap デスクトップ ピクチャ
archive.tar.gz ダウンロード ドキュメント ミュージック
・「tar xvfJ archive.tar.xz
」コマンドを実行し、「ls -l
」コマンドで確認します。
user01@ubuntu-vm:~$ tar xvfJ archive.tar.xz
file1.txt
file2.txt
directory/
user01@ubuntu-vm:~$ ls -l
合計 72
-rw-rw-r-- 1 user01 user01 10240 6月 2 02:21 archive.tar
-rw-rw-r-- 1 user01 user01 253 6月 2 02:39 archive.tar.bz2
-rw-rw-r-- 1 user01 user01 222 6月 2 02:32 archive.tar.gz
-rw-rw-r-- 1 user01 user01 248 6月 2 02:44 archive.tar.xz
drwxrwxr-x 2 user01 user01 4096 6月 2 02:20 directory
-rw-rw-r-- 1 user01 user01 43 6月 2 02:20 file1.txt
-rw-rw-r-- 1 user01 user01 43 6月 2 02:20 file2.txt
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 公開
J
:xz形式で圧縮されたアーカイブを処理
他のオプションは上記と同じ
10.作成したファイルとディレクトリの削除
この演習で作成したファイルとディレクトリを削除します。
・「rm -r file* archive* directory
」コマンドを実行して、「ls
」コマンドで削除されたかを確認します。
user01@ubuntu-vm:~$ rm -r file* archive* directory
user01@ubuntu-vm:~$ ls
snap テンプレート ドキュメント ピクチャ 公開
ダウンロード デスクトップ ビデオ ミュージック
まとめ
「tar
」コマンドは、ファイルのアーカイブと展開を効率的に行うための強力なツールです。以下の表を参考に、適切なオプションを使用してアーカイブや展開を行ってください。
これらのオプションを組み合わせることで、様々なアーカイブや圧縮形式に対応することができます。
オプション | 説明 |
---|---|
c | 新しいアーカイブを作成する |
t | アーカイブの内容を一覧表示する |
x | アーカイブを展開する |
f | アーカイブファイル名を指定する |
v | 詳細情報を表示する |
z | gzip形式で圧縮されたアーカイブを処理する |
j | bzip2形式で圧縮されたアーカイブを処理する |
J | xz形式で圧縮されたアーカイブを処理する |