7z 压缩包是单独压缩每个文件还是将所有文件合并为一个进行压缩?

7z 压缩包是单独压缩每个文件还是将所有文件合并为一个进行压缩?

我在某处读到过(我不记得在哪里)将文件压缩成比存档.tar.xz具有更好的整体压缩率,.7z因为存档+压缩格式(如 zip、rar 和 7z)会单独压缩每个文件,而如果你创建一个 tar 存档,然后使用单文件算法(如 gzip、bzip2 或 xz)对其进行压缩,则你会对整个组合数据集运行压缩算法(从而允许你更好地对多个文件之间共享的数据进行重复数据删除)。

因为我有一堆包含许多重复文件的文件夹,需要将它们压缩并存储在某个地方,所以我想知道这个轶事在多大程度上是真实的,以及通常对于这种情况使用的最佳格式是什么。

答案1

默认情况下,只要您使用该7z格式,它就会是所谓的“固定”档案,而不仅仅是一组单独压缩的文件。

事实上,如果配置好,7zip(程序)可以比 等存档更进一步tar.bz,可以设置为主动扫描目录以压缩并将具有相似扩展名的文件分组在一起,因为它们更有可能包含相似的数据。因此,压缩效果可能略好于 7zip,tar.bz因为 7zip 只是在找到文件流时将它们连接起来,可能会导致文件组不太理想,尤其是在压缩字典较小的情况下。

来自为什么新版本 7-Zip 创建的 7z 档案比旧版本 7-Zip 创建的档案更大?他们的常见问题解答部分

新版本的 7-Zip(从 15.06 版开始)默认对固定 7z 档案使用另一种文件排序顺序。

旧版本的 7-Zip(15.06 版之前)使用“按类型”(“按扩展名”)对文件进行排序。

新版本的 7-Zip 支持两种排序方式:

  • 按名称排序——默认顺序。
  • 如果在“添加到存档”窗口的参数字段中指定了“qs”,则按类型排序(或命令行版本的 -mqs 开关)。

如果字典大小小于文件总大小,则不同的排序方法的压缩率可能会有很大差异。如果不同文件夹中有相似的文件,则“按类型”排序在某些情况下可以提供更好的压缩率。

正如 DanielB 在评论中提到的那样,您实际上也可以根据您的要求配置固实块大小,恢复为旧式“非固实”存档,其中包含单独压缩的文件且不依赖于压缩数据,或者您可以将其设置为完全固实或根据您的数据使用各种块大小:

在此处输入图片描述

相关内容