tar
macht nur eine einzelne Datei aus mehreren Dateien, es führt keine Komprimierung durch, es sei denn, es wird ein Komprimierungsprogramm wie gzip
kombiniert oder bzip2
(die Sie innerhalb von tar
aufrufen können mit -z
oder -j
Optionen bzw.). zip
vereint Archivierung und Komprimierung in einem Programm.
tar
- Angenommen, Sie lesen von einem Ende zum anderen - "Tape ARchive". (Das Alter des Befehls zeigt...)
- Komprimiert nicht, aber Sie können den gesamten resultierenden Strom komprimieren, indem Sie ihn z. gzip und bzip2 (intern mit -z oder -j)
- Speichert Unix-Dateiattribute :uid, gid, Berechtigungen (vor allem ausführbar). Die Standardeinstellung kann von Ihrer Distribution abhängen und kann mit Optionen umgeschaltet werden.
zip
- Speichert MSDOS-Attribute . (Archiv, Schreibgeschützt, Ausgeblendet, System)
- Komprimiert jede Datei und fügt sie dann einem Archiv hinzu
- Fügt eine Dateitabelle am Ende der Datei ein
- und erlaubt als Ergebnis der ersten beiden, nur die genauen Teile der Datei zu lesen, die Sie benötigen.
Die Tatsache, dass Zip die Dateien separat komprimiert, wirkt sich auf die Komprimierungsraten aus, insbesondere bei vielen kleinen ähnlichen Dateien.
(Zumindest war dies vor einem Jahrzehnt genau richtig.)
Tar bewahrt viel mehr Metadaten als Zip, siehe meinen Vergleich (es ist etwas veraltet):
(Zum Vergrößern klicken)
Tar besteht 65 % der Tests, während Zip nur 17 % besteht. Ich habe die Testsuite auf Github unter BSD-Lizenz verfügbar gemacht, damit Sie es selbst ausprobieren können, wenn Sie einen Mac haben. Für Linux bin ich mir nicht sicher, ob Metadaten vorhanden sind, daher sind diese Tests möglicherweise nicht relevant.