我有一个相当大的文件夹(~10‘s),在它的目录树中包含许多重复的文件。这些文件中有许多被复制了10次。重复的文件不是并排的,而是在不同的子目录中。
如何压缩文件夹使其足够小?
我试图在“最佳”模式下使用Winrar,但它根本没有压缩它。(很奇怪)
zip\tar\cab\7z\其他压缩工具会做得更好吗?
我不介意让工具工作几个小时,但不会更多。
我不喜欢自己编程。
发布于 2018-10-12 03:03:56
在你的情况下最好的选择是7-zip。以下是备选方案:
7za a -r -t7z -m0=lzma2 -mx=9 -mfb=273 -md=29 -ms=8g -mmt=off -mmtf=off -mqs=on -bt -bb3 archife_file_name.7z /path/to/files
a
-添加要存档的文件
-r
-递归子目录
-t7z
-设置存档类型(在本例中为7z)
-m0=lzma2
-将压缩方法设置为LZMA2.LZMA是7z格式的默认通用压缩方法。LZMA方法的主要特点是:
-mx=9
-设置压缩级别。x=0意味着复制模式(没有压缩)。x=9 -超
-mfb=273
-为LZMA设置快速字节数。它可以在5到273之间。对于正常模式,默认值是32,对于最大值和超模式,默认值是64。通常,一个大的数字会给出更好的压缩比和更慢的压缩过程。
-md=29
-为LZMA设置字典大小。必须指定大小(以字节、千字节或兆字节为单位)。字典大小的最大值是1536 MB,但是32位版本的7-Zip允许指定最多128 MB的字典。在正常模式下,LZMA的默认值为24 (16 MB),最大模式(-mx=7)为25 (32 MB),超模式(-mx=9)为26 (64 MB)。如果您没有从集合b_x_k_m_g中指定任何符号,则字典大小将计算为DictionarySize = 2^Size字节。要解压缩字典大小为N的LZMA方法压缩的文件,您需要大约N个可用内存字节(RAM)。
我使用md=29
是因为我的服务器上只有16 my的内存可用。使用此设置7-zip只需5Gb的任何目录大小存档。如果我使用更大的字典大小-系统交换。
-ms=8g
-启用或禁用实心模式。默认模式是s=on
。在实心模式下,文件被分组在一起。通常,压缩在固体模式下可以提高压缩比。在您的情况下,这是非常重要的,使实体块大小尽可能大。
固体块体尺寸的限制通常会降低压缩比。实体.7z档案的更新可能很慢,因为它可能需要一些重新压缩。
-mmt=off
-将多线程模式设置为关闭。您需要关闭它,因为我们需要类似或相同的文件处理相同的7 zip线程在一个鞋底块。缺点是归档速度慢。不管您的系统有多少CPU或核心。
-mmtf=off
-为过滤器设置多线程模式以关闭。
-myx=9
-最大限度地设置文件分析的级别,分析所有文件(Delta和可执行过滤器)。
-mqs=on
-在实体档案中按类型对文件进行排序。将相同的文件存储在一起。
-bt
-显示执行时间统计信息-bb3
-设置输出日志级别
发布于 2016-09-03 11:44:50
7-zip支持“WIM”文件格式,这将检测和‘压缩’重复。如果您使用的是7 zip GUI,那么您只需选择'wim‘文件格式。
只有在使用命令行7-zip时,才能看到这个答案。https://serverfault.com/questions/483586/backup-files-with-many-duplicated-files
发布于 2016-11-02 20:06:16
我建议了3种我尝试过的选项(在Windows中):
我有10个文件夹的不同版本的网站(文件,如.php,.html,.js,.css,.jpeg,.sql等)总大小为1Gb (每个文件夹平均100 1Gb)。标准的7zip或WinRar压缩给了我一个大约400/500 me的文件,而这些选项给了我一个文件(1) 80 me,(2) 100 me& (3) 170 me。
更新编辑:由于@Griffin在注释中的建议,我尝试使用7zip LZMA2压缩(字典大小似乎没有区别)的7zip WIM文件。遗憾的是,WIM文件与我几年前在测试中使用的备份文件不同,但我可以将WIM文件压缩到它大小的70%。我将尝试使用您特定的一组文件,并将其与方法1进行比较。
新编辑:我的备份在增长,现在有很多图像文件。有了30个版本的站点,方法1重6Gb,而7zip WIM文件中的7zip LZMA2文件仅重2Gb!
https://stackoverflow.com/questions/27457326
复制相似问题