zip格式的7z“超”设置


14

.7z格式的7z“超”设置为:

7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on

.zip格式(使用7z)的“超”设置是什么?

Answers:


17

GUI应用程序文件滚轮的默认值也可以更改:


请注意,“超”可能不是非常有效,并且压缩所花费的时间会更长,而产生的文件大小不会比默认设置产生明显差异,并且还可能导致与其他程序不兼容。

它应该是:

7z a -tzip -mx=9

根据:file:///usr/share/doc/p7zip-full/DOCS/MANUAL/switches/method.htm

这是指向文件系统的链接,只需将其放在Web浏览器的地址栏中即可。

如果您当前不在安装该软件包的计算机上,则可以下载DEB软件包并使用另一个存档程序进行浏览。如果我的记忆正确地为我服务,则Windows安装程序应包含几乎相同的文件。

压缩

Parameter                     Default     Description
x=[0 | 1 | 3 | 5 | 7 | 9 ]    5           Sets level of compression.
m={MethodID}                  Deflate     Sets a method: Copy, Deflate, Deflate64, BZip2, LZMA, PPMd.
fb={NumFastBytes}             32          Sets number of Fast Bytes for Deflate encoder.
pass={NumPasses}              1           Sets number of Passes for Deflate encoder.
d={Size}[b|k|m]               900000      Sets Dictionary size for BZip2
mem={Size}[b|k|m]             24          Sets size of used memory for PPMd.
o={Size}                      8           Sets model order for PPMd.
mt=[off | on | {N}]           on          Sets multithreading mode.
em={EncryptionMethodID}       ZipCrypto   Sets a encryption method: ZipCrypto, AES128, AES192, AES256
tc=[off | on]                 off         Stores NTFS timestamps for files: Modification time, Creation time, Last access time.
cl=[off | on]                 off         7-Zip always uses local code page for file names.
cu=[off | on]                 off         7-Zip uses UTF-8 for file names that contain non-ASCII symbols.

默认情况下(如果未指定cl和cu开关),7-Zip仅对包含本地代码页不支持的符号的文件名使用UTF-8编码。

x = [0 | 1 | 3 | 5 | 7 | 9]

设置压缩级别。x = 0表示复印模式(无压缩)。

Deflate / Deflate64设置:

Level NumFastBytes    NumPasses   Description
1     32              1           Fastest
3                                 Fast
5                                 Normal
7     64              3           Maximum
9     128             10          Ultra

使用Deflate方法将x = 1和x = 3设置为压缩的快速模式。

BZip2设置:

Level Dictionary  NumPasses   Description
1     100000      1           Fastest
3     500000                  Fast
5     900000                  Normal
7                 2           Maximum
9                 7           Ultra

fb = {NumFastBytes}

设置Deflate / Deflate64编码器的快速字节数。它的范围可以从3到258(对于Deflate64为257)。通常,较大的数字会带来更好的压缩率和较慢的压缩过程。大的快速字节参数可以显着提高文件的压缩率,这些文件包含相同的长字节序列。

pass = {NumPasses}

设置Deflate编码器的通过次数。Deflate的范围是1到15,BZip2的范围是1到10。通常,较大的数字会带来更好的压缩率和较慢的压缩过程。

d = {大小} [b | k | m]

设置BZip2的词典大小。您必须以字节,千字节或兆字节为单位指定大小。词典大小的最大值为900000b。如果未从集合[b | k | m]中指定任何符号,则字典大小将计算为DictionarySize = 2 ^ Size字节。

mem = {大小} [b | k | m]

设置用于PPMd的内存大小。您必须以字节,千字节或兆字节为单位指定大小。最大值是256 MB = 2 ^ 28字节。默认值为24(16MB)。如果未从集合[b | k | m]中指定任何符号,则内存大小将计算为(2 ^ Size)字节。PPMd使用相同数量的内存进行压缩和解压缩。

o = {大小}

设置PPMd的模型顺序。大小必须在[2,16]范围内。预设值为8。

mt = [关闭| 在| {N}]

设置多线程模式。如果您具有多处理器或多核系统,则可以通过此开关提高速度。此选项仅影响BZip2流的压缩(使用任何方法)和解压缩。多线程模式下的每个线程都使用32 MB的RAM进行缓冲。如果指定{N},则7-Zip尝试使用N个线程。


它返回System error: E_INVALIDARG。如果我将m0=Deflate其删除,则可以:7z a -tzip -mx=9 -mfb=128 -mpass=10。为什么选择-mfb=128-mpass=10?谢谢。
2014年

@user您询问了超级设置,根据表格,这些是deflate(zip中的标准压缩)的超级设置。您应该查看原始文件,这里的格式是有限的,据我所知无法处理表格。
LiveWireBT 2014年

我没有很好地解释。[1]使用该选项m0=Deflate不起作用,它返回System error: E_INVALIDARG。如果我删除此选项(即7z a -tzip -mx=9 -mfb=128 -mpass=10它可以使用)[2]现在我了解第二个问题(“为什么要选择-mfb=128-mpass=10”,我看了看表格)。
2014年

1
@user -mx=9等效于-mfb=128 -mpass=10,我在重新阅读我的帖子后发现了这一点。我不知道为什么m0=Deflate不起作用。我想几年前我在Windows上遇到了这个问题,但从未解决过。它可能是文档错误,也可能只是过时的含义,-tzip仅出于兼容性考虑仅支持一种方法。我不知道,有人可能会提交错误或阅读源代码来找出实际支持的选项。
LiveWireBT 2014年

1
我认为您的m0=Deflate选项不起作用的原因是因为您的语法不正确。我认为应该是-mm=Deflate,不是-m0=Deflate。无论如何,这就是Windows上的语法,并且取决于上面LiveWireBT发布的语法。(感谢此LiveWireBt,顺便说一句)。
David I. McIntosh
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.