tar
gzip
などの圧縮プログラムを組み合わせない限り、複数のファイルから 1 つのファイルを作成するだけで、圧縮は行われません。 または bzip2
(これは tar
内から呼び出すことができます -z
を使用して または -j
オプション)。 zip
1 つのプログラムでアーカイブと圧縮の両方を組み合わせます。
タール
- 「Tape ARchive」という、端から端まで読むことを前提としています。 (コマンドの時代は...)
- 圧縮は行いませんが、結果のストリーム全体をパイプすることで圧縮できます。 gzip および bzip2 (-z または -j で内部的に実行)
- UNIX ファイル属性を保存します :uid、gid、パーミッション (特に実行可能ファイル)。デフォルトはディストリビューションによって異なり、オプションで切り替えることができます。
圧縮
- MSDOS 属性を保存します . (アーカイブ、読み取り専用、非表示、システム)
- 各ファイルを圧縮し、アーカイブに追加します
- ファイルの末尾にファイル テーブルを含めます
- 前者の 2 つの結果として、必要なファイルの正確な部分のみを読み取ることができます。
zip がファイルを個別に圧縮するという事実は、圧縮率に影響を与えます。特に、多くの小さな同様のファイルでは顕著です。
(少なくとも、これは 10 年前には正確でした。)
tar は Zip よりもはるかに多くのメタデータを保持します。比較を参照してください (少し古くなっています):
(クリックして拡大)
Tar は 65% のテストに合格しますが、Zip は 17% しか合格しません。 BSD ライセンスの下で github でテスト スイートを利用できるようにしたので、Mac を使用している場合は自分で試すことができます。 Linux の場合、メタデータがあるかどうかわからないため、これらのテストは関係ない可能性があります。