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

【Linux】ファイルのアーカイブと展開

アーカイブとは

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

展開とは

 展開とは、アーカイブファイルを元の複数のファイルやディレクトリに戻すプロセスです。Linuxでは、tarコマンドを使用して展開を行うことが一般的です。アーカイブファイルには、tar形式(.tarファイル)がよく使われます。

アーカイブと展開、圧縮と解凍の違い

用語説明
アーカイブ複数のファイルやディレクトリを一つのファイルにまとめること。tar コマンドを使用して、複数のファイルを .tar ファイルにまとめる。
展開アーカイブファイルを元の複数のファイルやディレクトリに戻すこと。tar コマンドを使用して、.tar ファイルを元のファイルに戻す。
圧縮ファイルのサイズを小さくすること。圧縮アルゴリズムを使用してデータを効率的に表現する。gzipbzip2xz などのツールを使用して .tar ファイルを圧縮する。
解凍圧縮されたファイルを元のサイズに戻すこと。gunzipbunzip2unxz などのツールを使用して .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 公開

圧縮と解凍

圧縮

 ファイルのサイズを小さくするプロセスです。圧縮アルゴリズムを使用してデータを効率的に表現し、ストレージスペースを節約します。

代表的なコマンド: gzipbzip2xz

・「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 公開

解凍

圧縮されたファイルを元のサイズに戻すプロセスです。

代表的なコマンド: gunzipbunzip2unxz

・「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          テンプレート  ドキュメント  ピクチャ      公開
ダウンロード  デスクトップ  ビデオ        ミュージック

まとめ

 アーカイブは複数のファイルを一つにまとめることで管理や転送を簡素化し、展開はアーカイブされたファイルを元の形に戻すプロセスです。一方、圧縮はファイルのサイズを小さくすることでストレージスペースを節約し、解凍は圧縮されたファイルを元のサイズに戻すプロセスです。これらのプロセスを理解し適切に利用することで、効率的なファイル管理と転送が可能になります。