如果我设置LZMA2
我得到LZMA
,反之亦然!什么?
CentOS9
$ 7za a -mx=9 -mm=LZMA2 test.7z *.sh
7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_GB.utf8,Utf16=on,HugeFiles=on,64 bits,3 CPUs AMD EPYC Processor (830F10),ASM,AES-NI)
Open archive: test.7z
--
Path = test.7z
Type = 7z
Physical Size = 320
Headers Size = 178
Method = LZMA:12
$ 7za a -mx=9 -mm=LZMA test.7z *.sh
7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_GB.utf8,Utf16=on,HugeFiles=on,64 bits,3 CPUs AMD EPYC Processor (830F10),ASM,AES-NI)
Open archive: test.7z
--
Path = test.7z
Type = 7z
Physical Size = 321
Headers Size = 172
Method = LZMA2:12
目前在我的 Kubuntu
7za
中的版本与所讨论的版本相同(7-Zip (a) [64] 16.02
),我能够复制您的“问题”。在
test.7z
尚不存在的情况下,该工具将打印Creating archive: test.7z
并且不打印Method =
。这不适合你的例子。如果案例
test.7z
已经存在,该工具会打印Open archive: test.7z
并执行 printMethod =
。这适合你的例子。重要的是这一Method =
行指的是存档在更改之前的状态。稍后Updating archive: test.7z
打印(我想您在问题中省略了这部分输出)并且没有显示处理后状态的行。Method =
如果我是对的,
Method =
在您的示例中显示了处理之前与文件相关的方法,即您之前使用的方法。我猜您在 和 之间交替LZMA
,LZMA2
并希望Method =
在处理后向您展示与文件相关的方法。这让你思考LZMA
并被LZMA2
错误地交换。尝试使用
LZMA
afterLZMA
(或LZMA2
afterLZMA2
),你会明白我的意思。或者更好地7za t test.7z
追赶7za a …
;这将在不更改存档的情况下向您显示当前状态。在该行的输出中7za t …
应该Method =
反映您刚刚使用的方法。