tar
em si, apenas agrupa arquivos (o resultado é chamado de tarball ), enquanto zip
aplica a compactação.
Geralmente você usa gzip
junto com tar
para compactar o tarball resultante , obtendo resultados semelhantes aos de zip
.
Para arquivos razoavelmente grandes, existem diferenças importantes. Um zip
arquivo morto é uma coleção de arquivos compactados . Um tar compactado com gzip é uma coleção compactada (de arquivos não compactados). Portanto, um arquivo zip é uma lista aleatoriamente acessível de itens compactados concatenados e a .tar.gz
é um arquivo que deve ser totalmente expandido antes que o catálogo seja acessível.
- A ressalva de a
zip
é que você não obtém compactação entre arquivos (porque cada arquivo é compactado independentemente dos outros no arquivo morto, a compactação não pode tirar proveito das semelhanças entre o conteúdo de arquivos diferentes); a vantagem é que você pode acessar qualquer um dos arquivos contidos olhando apenas uma seção específica (dependente do arquivo de destino) do arquivo morto (como o "catálogo" da coleção é separado da própria coleção).
- A ressalva de a
.tar.gz
é que você deve descompactar todo o arquivo morto para acessar os arquivos nele contidos (como os arquivos estão dentro do tarball); a vantagem é que a compactação pode tirar vantagem das semelhanças entre os arquivos (como comprime todo o tarball).