ローカルで処理
基礎5 min read
ZIP vs TAR: 違いは何か?
TARはファイルを圧縮せずに束ね、ZIPは束ねて圧縮します。それぞれが適した場面を学びます。
ZIPとTARはどちらも複数のファイルを1つのアーカイブにまとめますが、仕組みが異なります。TARはファイルを圧縮せずに単純に連結します。ZIPは束ねる際に各エントリを圧縮します。この1つの違いが、実際の違いのほとんどを説明します。
TARの役割
TARはテープアーカイブの略で、シーケンシャルストレージにファイルを書き込むために設計されました。各ファイルを記述するヘッダとともに、ファイルを次々に保存しますが、何も圧縮しません。
ZIPの役割
ZIPはファイルを束ね、単一の形式で圧縮します。各ファイルは個別に圧縮され、アーカイブ末尾の中央ディレクトリがすべてのエントリを記述します。
主な違い
- 圧縮: ZIPはデフォルトで圧縮します。TAR単体では圧縮しません。
- ランダムアクセス: ZIPのエントリは個別に読み取れます。TARは先頭からスキャンする必要があることが多いです。
- プラットフォーム: ZIPはWindowsとmacOSでネイティブ。TARはLinuxとmacOSのターミナルがネイティブ。
- メタデータ: TARはUnix権限をより忠実に保持します。ZIPはDOS風の属性を保持します。
- ストリーミング: TARはストリームとして作成でき、バックアップやパイプで人気があります。
どちらを使うべきか?
あらゆるデバイスの人とファイルを共有するには、どこでもサポートされ束ねながら圧縮するZIPが実用的な選択です。Unix系のワークフロー、バックアップ、ソフトウェア配布には、gzip圧縮付きTARが長年の慣習です。
Frequently asked questions
.tar.gzは.zipより小さいですか?
場合によります。gzipはストリーム全体を1つの単位として圧縮しますが、ZIPは各ファイルを個別に圧縮します。小さなファイルが多数ある場合、TARとgzipの組み合わせの方が少しよく圧縮できます。
WindowsはTARファイルを開けますか?
現代のWindowsには.tarと.tar.gzの組み込みサポートがあり、macOSも開けます。ZIPは引き続き最も広く互換性のある選択肢です。