tarとgzipについて
tarとgzipは、主にUnix/Linux系システムで使われるアーカイブ化・ファイル圧縮のツールです。それぞれの役割と違いについてまとめました。
tar (Tape Archive)
複数のファイルやディレクトリを1つのアーカイブにまとめるためのツール。
複数のファイルをまとめるだけで、ファイルサイズを圧縮したりはしないためgzipなどを利用する必要がある。
-
拡張子:
.tar
-
特徴:
- ファイルやディレクトリを1つのアーカイブにまとめる。
- 圧縮機能はない(単体ではファイルサイズは変わらない)。
-
使用例
file1.txtとfile2.txtをarchive.tarという一つのファイルにまとめる。tar -cvf archive.tar file1.txt file2.txt tar -xvf archive.tar
-c
:アーカイブを作成
-x
:アーカイブを展開
-v
:処理中のファイルを表示
-f
:出力ファイルを指定
Gzip (GNU zip)
ファイルを圧縮するためのツール。
-
拡張子:
.gz
or.gzip
-
特徴:
- 単一ファイルを圧縮する。
- 圧縮率が高い。
- gunzip コマンドで展開できる。
-
使用例:
gzipはfile.txtを圧縮してfile.txt.gzにする。
gunzipはその逆でfile.txt.gzを元のfile.txtに戻す。gzip file.txt gunzip file.txt.gz
tarとgzipの連携
tarとgzipを組み合わせることで、複数ファイルを1つにまとめ、その後圧縮することができます。
- 拡張子:
.tar.gz
または.tgz
- 使用例:
- アーカイブ + 圧縮
tar -czvf archive.tar.gz file1.txt file2.txt
- 展開 + 解凍
tar -xzvf archive.tar.gz
使用場面
バックアップやファイル転送、CI/CDなどで使われています。
参考
https://www.gnu.org/software/tar/
https://datatracker.ietf.org/doc/html/rfc1952
https://www.gzip.org/