このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
【Linux】ファイルのアーカイブと展開

アーカイブとは

アーカイブとは、複数のファイルやディレクトリを一つのファイルにまとめることを指します。このプロセスにより、ファイルの整理や転送が簡単になります。アーカイブファイルは、ファイルの集合体であり、単一のファイルとして扱うことができます。代表的なアーカイブ形式には、tar
(Tape Archive)があります。
展開とは

展開とは、アーカイブファイルを元の複数のファイルやディレクトリに戻すプロセスです。Linuxでは、tar
コマンドを使用して展開を行うことが一般的です。アーカイブファイルには、tar
形式(.tarファイル)がよく使われます。
アーカイブと展開、圧縮と解凍の違い
用語 | 説明 | 例 |
---|---|---|
アーカイブ | 複数のファイルやディレクトリを一つのファイルにまとめること。 | tar コマンドを使用して、複数のファイルを .tar ファイルにまとめる。 |
展開 | アーカイブファイルを元の複数のファイルやディレクトリに戻すこと。 | tar コマンドを使用して、.tar ファイルを元のファイルに戻す。 |
圧縮 | ファイルのサイズを小さくすること。圧縮アルゴリズムを使用してデータを効率的に表現する。 | gzip 、bzip2 、xz などのツールを使用して .tar ファイルを圧縮する。 |
解凍 | 圧縮されたファイルを元のサイズに戻すこと。 | gunzip 、bunzip2 、unxz などのツールを使用して .gz 、.bz2 、.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 テンプレート ドキュメント ピクチャ 公開
アーカイブ
複数のファイルやディレクトリを一つのファイルにまとめるプロセスです。これにより、複数のファイルをまとめて管理、転送、バックアップすることが簡単になります。
代表的なコマンド: tar
・「tar cvf archive.tar file1.txt file2.txt directory/
」コマンドを実行し、「ls -l
」コマンドで確認します。
「tar cvf archive.tar file1.txt file2.txt directory/
」 で「 file1.txt
」、「file2.txt
」、「directory/
」 を「archive.tar
」にまとめます。
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 00:38 archive.tar
drwxrwxr-x 2 user01 user01 4096 6月 2 00:36 directory
-rw-rw-r-- 1 user01 user01 43 6月 2 00:36 file1.txt
-rw-rw-r-- 1 user01 user01 43 6月 2 00:36 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 公開
展開
アーカイブファイルを元の複数のファイルやディレクトリに戻すプロセスです。
まず、「 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
・「tar xvf archive.tar
」コマンドを実行し、「ls -l
」コマンドで確認します。
「tar xvf archive.tar
」で「archive.tar
」を展開し、元のファイルやディレクトリに戻します。
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 00:38 archive.tar
drwxrwxr-x 2 user01 user01 4096 6月 2 00:36 directory
-rw-rw-r-- 1 user01 user01 43 6月 2 00:36 file1.txt
-rw-rw-r-- 1 user01 user01 43 6月 2 00:36 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 公開
圧縮と解凍
圧縮
ファイルのサイズを小さくするプロセスです。圧縮アルゴリズムを使用してデータを効率的に表現し、ストレージスペースを節約します。
代表的なコマンド: gzip
、bzip2
、xz
・「gzip archive.tar
」コマンドを実行し、「ls -l
」コマンドで確認します。
「gzip archive.tar
」で「archive.tar
」を圧縮し、「archive.tar.gz
」を生成します。
user01@ubuntu-vm:~$ gzip archive.tar
user01@ubuntu-vm:~$ ls -l
合計 52
-rw-rw-r-- 1 user01 user01 233 6月 2 00:38 archive.tar.gz
drwxrwxr-x 2 user01 user01 4096 6月 2 00:36 directory
-rw-rw-r-- 1 user01 user01 43 6月 2 00:36 file1.txt
-rw-rw-r-- 1 user01 user01 43 6月 2 00:36 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 公開
解凍
圧縮されたファイルを元のサイズに戻すプロセスです。
代表的なコマンド: gunzip
、bunzip2
、unxz
・「gunzip archive.tar.gz
」コマンドを実行し、「ls -l
」コマンドで確認します。
「gunzip archive.tar.gz
」で「archive.tar.gz
」を解凍し、元の「archive.tar
」に戻します。
user01@ubuntu-vm:~$ gunzip archive.tar.gz
user01@ubuntu-vm:~$ ls -l
合計 60
-rw-rw-r-- 1 user01 user01 10240 6月 2 00:38 archive.tar
drwxrwxr-x 2 user01 user01 4096 6月 2 00:36 directory
-rw-rw-r-- 1 user01 user01 43 6月 2 00:36 file1.txt
-rw-rw-r-- 1 user01 user01 43 6月 2 00:36 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 公開
作成したファイルとディレクトリの削除
この演習で作成したファイルとディレクトリを削除します。
・「rm -r file* archive.tar directory
」コマンドを実行して、「ls
」コマンドで削除されたかを確認します。
user01@ubuntu-vm:~$ rm -r file* archive.tar directory
user01@ubuntu-vm:~$ ls
snap テンプレート ドキュメント ピクチャ 公開
ダウンロード デスクトップ ビデオ ミュージック
まとめ
アーカイブは複数のファイルを一つにまとめることで管理や転送を簡素化し、展開はアーカイブされたファイルを元の形に戻すプロセスです。一方、圧縮はファイルのサイズを小さくすることでストレージスペースを節約し、解凍は圧縮されたファイルを元のサイズに戻すプロセスです。これらのプロセスを理解し適切に利用することで、効率的なファイル管理と転送が可能になります。