Spi*_*ike 18 compression zip gzip tar macos
我需要压缩一个目录,其中包含大约 350,000 个相当小的文件,总共大约 100GB。我正在使用 OSX,目前正在使用标准的“压缩”工具将该目录转换为 .zip 文件。有没有更快的方法来做到这一点?
nik*_*nik 18
对于目录,我会使用tar管道bzip2最大压缩。
一个简单的方法是,
tar cfj archive.tar.bz2 归档目录/
如果您不打算从存档中提取一小组文件,
并且只是计划随时随地提取整个文件,这将非常有用。
但是,如果您确实想获取一小组文件,那还不错。
我更喜欢调用此类档案filename.tar.bz2并使用“ xfj”选项进行提取。
最大压缩管道看起来像这样,
tar cf - 要归档的目录/ | bzip2 -9 -> archive.tar.bz2 # ^pipe tarball 从这里压缩到 ^ 到存档文件中。
注意:' bzip2' 方法和更多的压缩往往比gzip来自 ' tar cfz' 的常规方法慢。
如果您有一个快速的网络并且存档将被放置在不同的机器上,
您可以通过网络(有效地将两台机器一起使用)加快速度。
焦油 cf - 目录/ | ssh user@server "bzip2 -9 - > /target-path/archive.tar.bz2" # ^ 通过网络管道压缩 ^ 并在远程机器上存档。
一些参考,
Dennis小智 9
这家伙对此进行了一些研究。.zip 似乎可以更快地压缩较大的文件。但是,它会产生最大的压缩大小之一。看起来他也在使用 Windows 实用程序,但我敢打赌 OSX 的实用程序几乎同样优化。
这是一个出色的网站,其中许多压缩实用程序已针对许多文件的速度进行了基准测试。您可以查看该站点上的许多其他测试,以确定最适合您的实用程序。
大部分速度与您使用的程序有关。我在 Windows 上使用了 7zip 的实用程序,我发现它非常快。但是,无论如何压缩许多文件都需要很长时间,所以我就让它过夜。或者你可以对整个事情进行 tar 而不压缩它......我个人讨厌解压缩大型档案,所以如果这是你想要做的,我会小心。