tar
vytváří pouze jeden soubor z více souborů, neprovádí kompresi, pokud není kombinován komprimační program, jako je gzip
nebo bzip2
(které můžete volat z tar
pomocí -z
nebo -j
možnosti). zip
kombinuje archivaci i kompresi v jednom programu.
tar
- Předpokládá, že budete číst z jednoho konce na druhý – „Tape ARchive“. (Věk příkazu ukazuje...)
- Neprovádí kompresi, ale můžete komprimovat celý výsledný proud tak, že jej protáhnete např. gzip a bzip2 (provádí se interně pomocí -z nebo -j)
- Ukládá atributy souborů Unix :uid, gid, oprávnění (zejména spustitelné). Výchozí nastavení může záviset na vaší distribuci a lze jej přepínat pomocí možností.
zip
- Ukládá atributy MSDOS . (Archivovat, Pouze pro čtení, Skryté, Systém)
- Komprimuje každý soubor a poté je přidá do archivu
- Na konci souboru obsahuje tabulku souborů
- a jako výsledek předchozích dvou umožňuje číst pouze přesné části o souboru, které potřebujete.
Skutečnost, že zip komprimuje soubory samostatně, ovlivní kompresní poměry, zejména u mnoha malých podobných souborů.
(Aspoň to bylo přesně správné před deseti lety.)
Tar zachovává mnohem více metadat než Zip, viz moje srovnání (je mírně zastaralé):
(Kliknutím přiblížíte)
Tar projde 65 % testů, kde Zip pouze 17 %. Zpřístupnil jsem testovací sadu na githubu pod licencí BSD, takže si ji můžete sami vyzkoušet, pokud máte Mac. U linuxu si nejsem jistý, zda existují nějaká metadata, takže tyto testy nemusí být relevantní.