Answers:
死灵法师。
是的,这很重要。
实际上,这取决于。
tar.gz
压缩
由于zip分别压缩文件,因此zip归档文件最有可能具有较大的大小(尤其是对于许多较小的文件-请考虑配置文件)。
因此,从文件大小来看,如果您在Linux / Unix上压缩一堆文件,然后解压缩,文件属性将消失(至少MS-DOS不支持的文件属性-取决于ZIP) -您使用的软件)。这可能很重要,也可能没关系,在这种情况下没关系(因为在大多数情况下文件大小的差异可以忽略不计)。
tar gz对于Linux / Unix更好,因为它保留了权限,例如脚本上的“可执行文件”。
这些天最流行的Linux发行版默认都具有zip
兼容性。但正如nc3b规定,tar
并gzip
都在Linux / Unix系统更为常见。如果您在这些系统上需要95%的兼容性,请考虑使用tar
和gzip
。如果只需要85%,zip
就可以了。
gunzip --suffix .zip npm-debug.log.zip
或者gunzip -c < npm-debug.log.zip > npm-debug.log
tar / gzip是一种糟糕的格式,因为无法随意解压缩,更新,验证甚至不能将档案附加到...,而不必解压缩整个档案。
zip在这方面要好得多....您可以快速获取zip文件的内容,将其追加到该文件中,而无需重新压缩第一部分等。
zip有一些大小限制...取决于您使用的“ zip”的版本...这可能是一个问题。但是大多数类似Linux的操作系统附带的标准info-zip工具没有大小限制,并且可以很好地保留文件权限。
有关功能,请参见:https://en.wikipedia.org/wiki/Info-ZIP
准系统Unix安装不包含解压缩(即服务器安装),但是它们始终包含tar和gzip。如果您的受众是服务器,那么我会推荐gzip。
而且gzip的压缩比zip更大,因此文件会更小。
是的,这很重要。Tar是一个存档器。在tar.gz中,我们压缩该存档。
Zip既是存档器又是压缩器。
如果比较压缩,以我的经验来看,gzip比zip好得多。
另一个答案是另一个明显的区别。如果您的文件存档很大,并且想提取一个小文件,则Zip允许您执行此操作。但是,使用tar.gz,您需要提取整个存档。
决定基本上归结为以下几点:
GZIP保留Unix 文件许可权,因为允许执行文件。
另一方面,在Windows 中,ZIP 开箱即用。
tar
和gzip
很多比较常见的在* nix-ES比unzip
。例如,在我的arch-2009.08上,目前没有unzip
。
bsdtar
(的一部分libarchive
)可以很好地处理ZIP。