英语法语西班牙语

Ad


OnWorks 网站图标

xzcat - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 xzcat

这是 xzcat 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


xz、unxz、xzcat、lzma、unlzma、lzcat - 压缩或解压缩 .xz 和 .lzma 文件

概要


xz [选项]……[文件] ...

不知道 相当于 xz --解压.
小猫 相当于 xz --解压 --标准输出.
伊兹玛 相当于 xz --格式=lzma.
Unzzma 相当于 xz --格式=lzma --解压.
猫猫 相当于 xz --格式=lzma --解压 --标准输出.

在编写需要解压文件的脚本时,建议始终使用
姓名 xz 带有适当的参数(xz -d or xz -直流) 而不是名字 不知道小猫.

商品描述


xz 是一个通用的数据压缩工具,命令行语法类似于 GZIP(1)
bzip2(1). 本机文件格式是 .xz 格式,但遗产 .lzma 使用的格式
通过 LZMA Utils 和没有容器格式标头的原始压缩流也是
支持的。

xz 压缩或解压缩每个 文件 根据选择的操作模式。 如果不
给予或 文件 is -, xz 从标准输入读取并写入处理后的数据
到标准输出。 xz 将拒绝(显示错误并跳过 文件) 来写
如果是终端,则压缩数据到标准输出。 相似地, xz 会拒绝阅读
如果是终端,则来自标准输入的压缩数据。

除非 --标准输出 被指定, 以外 - 被写入一个名为的新文件
源自源头 文件 名称:

· 压缩时,目标文件格式的后缀(.xz or .lzma) 附加到
源文件名以获取目标文件名。

· 解压时, .xz or .lzma 从文件名中删除后缀以获得
目标文件名。 xz 也识别后缀 .txz.tlz,并将它们替换为
。柏油 后缀。

如果目标文件已存在,则会显示错误并显示 文件 被跳过。

除非写入标准输出, xz 将显示警告并跳过 文件 如果其中任何一个
以下适用:

· 文件 不是普通文件。 不遵循符号链接,因此它们不
被认为是常规文件。

· 文件 有多个硬链接。

· 文件 设置了 setuid、setgid 或粘滞位。

· 操作模式设置为压缩和 文件 已经有目标的后缀
文件格式 (.xz or .txz 当压缩到 .xz 格式,和 .lzma or .tlz ,尤其是
压缩到 .lzma 格式)。

· 运行模式设置为解压和 文件 没有任何后缀
支持的文件格式(.xz, .txz, .lzma.tlz).

成功压缩或解压后 文件, xz 复制所有者、组、
来自源的权限、访问时间和修改时间 文件 到目标文件。
如果复制组失败,则修改权限,使目标文件不
无权访问源的用户可以访问 文件. xz
不支持复制其他元数据,如访问控制列表或扩展属性
但。

成功关闭目标文件后,源 文件 被删除除非
- 保持 被指定。 来源 文件 如果将输出写入,则永远不会删除
标准输出。

发出 信息 or 信号灯1xz 进程使其打印进度信息到
标准错误。 这只有有限的用途,因为当标准错误是终端时,使用
--详细 将显示一个自动更新的进度指示器。

内存 用法
内存使用情况 xz 从几百千字节到几千兆字节不等
关于压缩设置。 压缩文件时使用的设置决定了
解压器的内存要求。 通常,减压器需要 5% 到 20%
创建文件时压缩器所需的内存量。 例如,
解压创建的文件 xz -9 当前需要 65 MiB 的内存。 仍然是
可能有 .xz 需要几 GB 内存才能解压缩的文件。

特别是旧系统的用户可能会发现内存使用量非常大的可能性
恼人的。 为防止出现令人不快的意外, xz 有一个内置的内存使用限制器,
这是默认禁用的。 虽然一些操作系统提供了限制
进程的内存使用,依赖它被认为不够灵活(例如使用
极限(1) 限制虚拟内存趋于瘫痪 MMAP(2))。

可以使用命令行选项启用内存使用限制器 --内存限制=限制.
往往通过设置环境默认开启限制器更方便
变量 XZ_默认值,例如 XZ_DEFAULTS=--memlimit=150MiB. 可以设置
通过使用分别限制压缩和解压缩 --memlimit-压缩=限制
--memlimit-解压缩=限制. 在外面使用这两个选项 XZ_默认值 很少有用
因为单次运行 xz 不能同时进行压缩和解压
--内存限制=限制 (或 -M 限制) 在命令行上输入更短。

如果解压时超过指定的内存使用限制, xz 将显示一个
错误,解压文件将失败。 如果压缩时超过限制, xz
将尝试缩小设置,以便不再超出限制(除非
运用 --格式=原始 or --无调整)。 这样操作不会失败,除非限制是
很小。 设置的缩放是在与压缩不匹配的步骤中完成的
水平预设,例如,如果限制仅略低于所需的数量 xz -9,
设置只会缩小一点,而不是一直缩小到 xz -8.

级联 填充 .xz
可以串联 .xz 文件原样。 xz 将解压缩这些文件,就好像它们
是一个单身 .xz 文件中。

可以在连接的部分之间或最后一部分之后插入填充。
填充必须由空字节组成,填充的大小必须是
四个字节。 这可能很有用,例如,如果 .xz 文件存储在测量
以 512 字节块为单位的文件大小。

不允许连接和填充 .lzma 文件或原始流。

配置


整数 后缀 特别 价值观
在大多数需要整数参数的地方,支持一个可选的后缀
容易表示大整数。 整数和整数之间不能有空格
后缀。

基布 将整数乘以 1,024 (2^10)。 Ki, k, kB, KKB 被接受为
的同义词 基布.

MIB 将整数乘以 1,048,576 (2^20)。 Mi, m, MMB 被接受为
的同义词 MIB.

吉卜 将整数乘以 1,073,741,824 (2^30)。 Gi, g, GGB 被接受为
的同义词 吉卜.

特殊价值 最大 可用于表示支持的最大整数值
选项。

操作 模式
如果给出多个操作模式选项,则最后一个生效。

-z, - 压缩
压缩。 这是没有操作模式选项时的默认操作模式
指定并且没有从命令名称中暗示其他操作模式(对于
例, 不知道 暗示 --解压).

-d, --解压, --解压
解压。

-t, - 测试
测试压缩的完整性 . 这个选项相当于 --解压
--标准输出 除了解压后的数据被丢弃而不是被写入
标准输出。 不会创建或删除文件。

-l, - 列表
打印压缩信息 . 不产生未压缩的输出,并且
没有文件被创建或删除。 在列表模式下,程序无法读取
来自标准输入或其他不可搜索来源的压缩数据。

默认列表显示有关的基本信息 , 每行一个文件。 要得到
更详细的信息,也使用 --详细 选项。 为了更多
信息,使用 --详细 两次,但请注意这可能会很慢,因为
所有额外的信息都需要多次搜索。 详细输出的宽度超过
80 个字符,因此将输出传输到例如 -S 如果
终端不够宽。

确切的输出可能会有所不同 xz 版本和不同的语言环境。 对于机器-
可读输出, - 机器人 - 列表 应该使用。

操作 修饰符
-k, - 保持
不要删除输入文件。

-f, - 力量
这个选项有几个效果:

· 如果目标文件已经存在,请在压缩前将其删除或
解压。

· 压缩或解压缩即使输入是一个到常规文件的符号链接,
有多个硬链接,或者设置了 setuid、setgid 或粘性位。 这
setuid、setgid 和粘滞位不会复制到目标文件中。

·当与 --解压 --标准输出xz 无法识别类型
源文件,将源文件按原样复制到标准输出。 这允许 小猫
- 力量 像这样使用 (1) 对于没有被压缩的文件 xz.
请注意,在未来, xz 可能支持新的压缩文件格式,这可能
使 xz 解压缩更多类型的文件,而不是按标准复制它们
输出。 --格式=格式 可以用来限制 xz 只解压一个
文件格式。

-c, --标准输出, --到标准输出
将压缩或解压缩的数据写入标准输出而不是文件。
这意味着 - 保持.

--单流
只解压第一个 .xz 流,并默默地忽略可能的剩余输入
数据跟随流。 通常这样的尾随垃圾使 xz 显示一个
错误。

xz 从不解压多个流 .lzma 文件或原始流,但
这个选项仍然使 xz 忽略可能的尾随数据 .lzma 文件
或原始流。

如果操作模式不是,则此选项无效 --解压 or - 测试.

--无稀疏
禁止创建稀疏文件。 默认情况下,如果解压为常规
文件, xz 如果解压缩的数据包含 long,则尝试使文件稀疏
二进制零序列。 只要写入标准输出,它也可以工作
因为标准输出连接到常规文件和某些附加条件
会见以确保安全。 创建稀疏文件可以节省磁盘空间并加快速度
通过减少磁盘 I/O 量来解压。

-S .suf, --后缀=.suf
压缩时,使用 .suf 作为目标文件的后缀而不是 .xz or
.lzma. 如果不写入标准输出并且源文件已经具有
后缀 .suf,将显示警告并跳过该文件。

解压时,识别带有后缀的文件 .suf 除了文件
.xz, .txz, .lzma.tlz 后缀。 如果源文件有后缀 .suf是,
删除后缀以获取目标文件名。

压缩或解压缩原始流时 (--格式=原始),后缀必须
除非写入标准输出,否则总是被指定,因为没有默认值
原始流的后缀。

--文件[=文件]
读取要处理的文件名 文件; 如果 文件 省略,读取文件名
从标准输入。 文件名必须以换行符结尾。 一种
破折号 (-) 被视为常规文件名; 这并不意味着标准输入。 如果
文件名也作为命令行参数给出,它们在
读取的文件名 文件.

--文件0[=文件]
这与 --文件[=文件] 除了每个文件名必须终止
带有空字符。

基础 文件 格式 压片 选项
-F 格式, --格式=格式
指定文件 格式 压缩或解压缩:

汽车 这是默认设置。 压缩时, 汽车 相当于 xz。 何时
解压后,自动检测输入文件的格式。 笔记
原始流(用 --格式=原始) 无法自动检测。

xz 压缩到 .xz 文件格式,或仅接受 .xz 文件时
解压。

伊兹玛,
压缩到遗留 .lzma 文件格式,或仅接受 .lzma 文件时
解压。 替代名称 为向后提供
与 LZMA Utils 的兼容性。

压缩或解压缩原始流(无标头)。 这是为了
仅限高级用户。 要解码原始流,您需要使用 --格式=原始
明确指定通常会被存储的过滤器链
在容器标题中。

-C , --检查=
指定完整性检查的类型。 支票是根据
未压缩的数据并存储在 .xz 文件。 此选项仅在以下情况下有效
压缩成 .xz 格式; 这 .lzma 格式不支持完整性检查。
完整性检查(如果有)在 .xz 文件被解压。

支持 类型:

没有 根本不计算完整性检查。 这通常是一个坏主意。
当通过其他方式验证数据的完整性时,这会很有用
反正。

crc32 使用来自 IEEE-32(以太网)的多项式计算 CRC802.3。

crc64 使用 ECMA-64 中的多项式计算 CRC182。 这是默认的,
因为它在检测损坏的文件方面比 CRC32 稍好,而且
速度差异可以忽略不计。

sha256 计算 SHA-256。 这比 CRC32 和 CRC64 稍慢。

诚信为本 .xz 标头始终使用 CRC32 进行验证。 这是不可能的
更改或禁用它。

-0 ... -9
选择压缩预设级别。 默认是 -6. 如果多个预设级别
指定,最后一个生效。 如果自定义过滤器链已经
指定,设置压缩预设级别会清除自定义过滤器链。

预设之间的差异比 GZIP(1)和
bzip2(1). 所选的压缩设置决定了内存要求
解压器,因此使用过高的预设级别可能会使
在 RAM 很少的旧系统上解压缩文件。 具体来说, 它的 不能 a
非常好 主意 盲目 使用 -9 一切 就像它经常与 GZIP(1)和
bzip2(1)。

-0 ... -3
这些是有点快的预设。 -0 有时比 GZIP -9
压缩得更好。 较高的通常具有与
bzip2(1) 具有相当或更好的压缩比,尽管结果
在很大程度上取决于被压缩的数据类型。

-4 ... -6
良好到非常好的压缩,同时保持解压缩器内存使用
即使对于旧系统也是合理的。 -6 是默认值,这通常很好
选择例如分发需要解压缩的文件,即使在
只有 16 MiB RAM 的系统。 (-5e or -6e 可能也值得考虑。
我们 - 极端.)

-7 ... -9
这些就像 -6 但具有更高的压缩器和解压缩器内存
要求。 这些仅在压缩文件大于
分别为 8 MiB、16 MiB 和 32 MiB。

在相同的硬件上,解压速度近似为常数
每秒压缩数据的字节数。 换句话说,压缩得越好,
减压速度通常越快。 这也意味着数量
每秒产生的未压缩输出可能会有很大差异。

下表总结了预设的功能:

预设 DictSize CompCPU CompMem DecMem
-0 256 千字节 0 3 兆字节 1 兆字节
-1 1 兆字节 1 9 兆字节 2 兆字节
-2 2 兆字节 2 17 兆字节 3 兆字节
-3 4 兆字节 3 32 兆字节 5 兆字节
-4 4 兆字节 4 48 兆字节 5 兆字节
-5 8 兆字节 5 94 兆字节 9 兆字节
-6 8 兆字节 6 94 兆字节 9 兆字节
-7 16 兆字节 6 186 兆字节 17 兆字节
-8 32 兆字节 6 370 兆字节 33 兆字节
-9 64 兆字节 6 674 兆字节 65 兆字节

列说明:

· DictSize 是 LZMA2 字典大小。 使用 a 是浪费内存
字典大于未压缩文件的大小。 这就是为什么它是
最好避免使用预设 -7 ... -9 当没有真正需要它们时。
At -6 和更低,浪费的内存量通常足够低,不会
物。

· CompCPU 是影响 LZMA2 设置的简化表示
压缩速度。 字典大小也会影响速度,所以 CompCPU 是
级别相同 -6 ... -9,更高的级别仍然会更慢一些。
要获得更慢并因此可能更好的压缩,请参阅 - 极端.

· CompMem 包含单线程模式下的压缩器内存要求。
之间可能略有不同 xz 版本。 部分内存要求
未来的多线程模式可能会大大高于单线程模式
线程模式。

· DecMem 包含解压器内存要求。 也就是说,压缩
设置决定了解压器的内存要求。 最正确
解压器内存使用量略大于 LZMA2 字典大小,但
表中的值已四舍五入到下一个完整的 MiB。

-e, - 极端
使用所选压缩预设级别的较慢变体 (-0 ... -9),以
希望得到更好的压缩比,但运气不好这可以
也会让它变得更糟。 解压器内存使用不受影响,但压缩器
内存使用量在预设水平上略有增加 -0 ... -3.

由于有两个字典大小分别为 4 MiB 和 8 MiB 的预设,因此预设 -3e
-5e 使用稍快的设置(较低的 CompCPU)比 -4e-6e,
分别。 这样就没有两个预设是相同的。

预设 DictSize CompCPU CompMem DecMem
-0e 256 KiB 8 4 MiB 1 MiB
-1e 1 兆字节 8 13 兆字节 2 兆字节
-2e 2 兆字节 8 25 兆字节 3 兆字节
-3e 4 兆字节 7 48 兆字节 5 兆字节
-4e 4 兆字节 8 48 兆字节 5 兆字节
-5e 8 兆字节 7 94 兆字节 9 兆字节
-6e 8 兆字节 8 94 兆字节 9 兆字节
-7e 16 兆字节 8 186 兆字节 17 兆字节
-8e 32 兆字节 8 370 兆字节 33 兆字节
-9e 64 兆字节 8 674 兆字节 65 兆字节

例如,总共有四个预设使用 8 MiB 字典,其
从最快到最慢的顺序是 -5, -6, -5e-6e.

- 快速地
- 最好的事物 这些是有些误导的别名 -0-9, 分别。 这些是
仅提供与 LZMA Utils 的向后兼容性。 避免使用这些
选项​​。

--块大小=尺寸
当压缩到 .xz 格式化,将输入数据拆分成块 尺寸 个字节。
块被相互独立地压缩。

--memlimit-压缩=限制
为压缩设置内存使用限制。 如果此选项被指定为多个
次,最后一个生效。

如果压缩设置超过 限制, xz 将向下调整设置
以便不再超过限制并显示自动通知
调整完成。 压缩时不会进行此类调整
--格式=原始 或者如果 --无调整 已指定。 在这些情况下,错误是
显示和 xz 将以退出状态 1 退出。

限制 可以通过多种方式指定:

· 限制 可以是以字节为单位的绝对值。 使用整数后缀,如 MIB
可能有用。 例子: --memlimit-compress=80MiB

· 限制 可以指定为总物理内存 (RAM) 的百分比。 这个
特别是在设置 XZ_默认值 环境变量在
在不同计算机之间共享的 shell 初始化脚本。 那
在具有更多内存的系统上,限制会自动变大。 例子:
--memlimit-压缩=70%

· 限制 可以通过将其设置为重置回其默认值 0。 这是
目前相当于设置 限制最大 (没有内存使用限制)。 一次
多线程支持已经实现,可能有区别 0
最大 对于多线程的情况,所以建议使用 0 而不是 最大
直到细节决定。

另请参阅 内存 用法.

--memlimit-解压缩=限制
设置解压的内存使用限制。 这也影响了 - 列表 模式。 如果
在不超过规定的情况下,该操作是不可能的 限制, xz 会显示错误
并且解压缩文件将失败。 看 --memlimit-压缩=限制 为可能
指定方法 限制.

-M 限制, --内存限制=限制, --内存=限制
这相当于指定 --memlimit-压缩=限制
--memlimit-解压缩=限制.

--无调整
如果压缩设置超过内存使用,则显示错误并退出
限制。 默认是向下调整设置,以便内存使用
没有超过限制。 创建原始数据时始终禁用自动调整
流(--格式=原始).

-T 线程, --线程=线程
指定要使用的工作线程数。 实际线程数可以是
少于 线程 如果使用更多线程会超过内存使用限制。

多线程 压片 减压 ,那恭喜你, 不能 实施 然而, so Free Introduction 选项
具有 没有 效果 现在。

As of 写作 (2010-09-27), it 还没有 决定 if 线程 be 用过的 by
默认 on 多核 系统 一旦 SUPPORT 穿线 具有 已实施。
评论 ,那恭喜你, 欢迎。 复杂的因素是使用许多线程会
显着增加内存使用量。 请注意,如果多线程将是
默认情况下,可能会这样做,以便单线程和多线程模式
产生相同的输出,因此压缩比不会受到显着影响
默认情况下将启用线程。

定制版 压缩机 过滤
自定义过滤器链允许详细指定压缩设置而不是
依赖于与预设级别相关的设置。 当自定义过滤器链
指定,压缩预设级别选项(-0 ... -9- 极端) 默默地
忽略了。

过滤器链类似于命令行上的管道。 压缩时,
未压缩的输入进入第一个过滤器,其输出进入下一个过滤器(如果
任何)。 最后一个过滤器的输出被写入压缩文件。 最大值
链中的过滤器数量是四个,但通常一个过滤器链只有一个或两个
过滤器。

许多过滤器对它们在过滤器链中的位置有限制:有些过滤器可以
仅作为链中的最后一个过滤器工作,有些仅作为非最后一个过滤器,有些工作
在链中的任何位置。 根据过滤器的不同,此限制是固有的
过滤器设计或存在以防止安全问题。

自定义过滤器链是通过使用一个或多个过滤器选项的顺序指定的
在过滤器链中需要。 也就是说,过滤器选项的顺序很重要!
解码原始流时 (--格式=原始),过滤器链以相同的顺序指定
正如压缩时指定的那样。

过滤器采用过滤器特定的 选项 作为逗号分隔的列表。 额外的逗号 选项
被忽略。 每个选项都有一个默认值,所以你只需要指定那些你想要的
改变。

--lzma1[=选项]
--lzma2[=选项]
将 LZMA1 或 LZMA2 过滤器添加到过滤器链中。 这些过滤器只能用作
链中的最后一个过滤器。

LZMA1 是一个遗留过滤器,几乎完全支持它是因为遗留过滤器 .lzma
文件格式,仅支持 LZMA1。 LZMA2 是 LZMA1 的更新版本
修复 LZMA1 的一些实际问题。 这 .xz 格式使用 LZMA2 并且不支持
LZMA1。 LZMA1 和 LZMA2 的压缩速度和比率实际上是
相同的。

LZMA1 和 LZMA2 共享同一套 选项:

预设=预设
重置所有 LZMA1 或 LZMA2 选项预设. 预置 由一个整数组成,
后面可能跟单字母预设修饰符。 整数可以是
09, 匹配命令行选项 -0 ... -9。 唯一的
目前支持的修饰符是 e,与 - 极端。 默认值
预设 is 6,其中 LZMA1 其余部分的默认值或
LZMA2 选项 被采取。

字典=尺寸
字典(历史缓冲区) 尺寸 表示最近的字节数
处理过的未压缩数据保存在内存中。 该算法试图找到
在未压缩的数据中重复字节序列(匹配),并替换
它们引用了字典中当前的数据。 更大的
字典,找到匹配的机会就越高。 因此,增加
字典 尺寸 通常提高压缩率,但字典更大
比未压缩的文件更浪费内存。

典型词典 尺寸 从 64 KiB 到 64 MiB。 最小值为 4 KiB。
压缩的最大值当前为 1.5 GiB (1536 MiB)。 这
解压器已经支持小于 4 GiB 的最多 XNUMX 个字节的字典,
这是 LZMA1 和 LZMA2 流格式的最大值。

字典 尺寸 和匹配器(mf) 共同决定内存使用情况
LZMA1 或 LZMA2 编码器。 相同(或更大)的字典 尺寸 is
压缩时使用的解压缩所需,因此内存
解码器的使用由使用的字典大小决定
压缩。 这 .xz 标题存储字典 尺寸 或者作为 2^n 或 2^n
+ 2^(n-1),所以这些 尺寸 在某种程度上更适合压缩。 其他
尺寸 将被四舍五入存储在 .xz 标头。

LC=lc 指定文字上下文位的数量。 最小值为 0 且
最大值为 4; 默认为 3。此外,总和 lclp 不得
超过 4。

所有不能被编码为匹配的字节都被编码为文字。 那
也就是说,文字只是一次编码一个的 8 位字节。

文字编码假设最高 lc 的位
前一个未压缩字节与下一个字节相关。 例如在典型
英文文本,一个大写字母后面经常跟一个小写字母,
一个小写字母后通常跟另一个小写字母。
在 US-ASCII 字符集中,最高三位为 010 为大写
字母和 011 表示小写字母。 什么时候 lc 至少为 3,字面量
编码可以在未压缩数据中利用这一特性。

默认值 (3) 通常是好的。 如果你想要最大的压缩,
test LC=4. 有时它有点帮助,有时它会压缩
更差。 如果它使情况变得更糟,请测试例如 LC=2 了。

LP=lp 指定文字位置位数。 最小值为 0 且
最大值为 4; 默认值为 0。

Lp 影响在未压缩数据中假设的对齐方式
编码文字。 看 pb 下面是关于对齐的更多信息。

铅=pb 指定位置位数。 最小值为 0,最大值为 4;
默认值为 2。

Pb 影响在未压缩数据中假设的对齐类型
一般的。 默认表示四字节对齐(2^pb=2^2=4),这通常是
当没有更好的猜测时,这是一个不错的选择。

当对齐已知时,设置 pb 相应地可以减少文件大小
一点。 例如,文本文件具有一字节对齐(US-ASCII,
ISO-8859-*, UTF-8), 设置 铅=0 可以稍微改善压缩。 为了
UTF-16 文本, 铅=1 是个不错的选择。 如果对齐是奇数,例如
3 字节, 铅=0 可能是最好的选择。

即使假设的对齐方式可以调整 pblp, LZMA1 和
LZMA2 仍然略微倾向于 16 字节对齐。 可能值得考虑
在设计可能经常被压缩的文件格式时考虑
与 LZMA1 或 LZMA2。

MF=mf 匹配查找器对编码器速度、内存使用和
压缩率。 通常哈希链匹配查找器比二进制更快
树匹配查找器。 默认值取决于 预设: 0 次使用 hc3, 1-3 使用
hc4,其余使用 bt4.

支持以下匹配查找器。 下面的内存使用公式
是粗略的近似值,当 字典 是一个
两个的力量。

hc3 具有 2 字节和 3 字节散列的散列链
最小值 不错:3
内存使用情况:
字典 * 7.5(如果 字典 <= 16 字节);
字典 * 5.5 + 64 MiB(如果 字典 > 16 MiB)

hc4 具有 2、3 和 4 字节散列的散列链
最小值 不错:4
内存使用情况:
字典 * 7.5(如果 字典 <= 32 字节);
字典 * 6.5(如果 字典 > 32 MiB)

bt2 具有 2 字节散列的二叉树
最小值 不错:2
内存使用情况: 字典 * 9.5

bt3 具有 2 字节和 3 字节散列的二叉树
最小值 不错:3
内存使用情况:
字典 * 11.5(如果 字典 <= 16 字节);
字典 * 9.5 + 64 MiB(如果 字典 > 16 MiB)

bt4 具有 2、3 和 4 字节散列的二叉树
最小值 不错:4
内存使用情况:
字典 * 11.5(如果 字典 <= 32 字节);
字典 * 10.5(如果 字典 > 32 MiB)

模式=模式
压缩 模式 指定分析由产生的数据的方法
匹配查找器。 支持的 模式 ,那恭喜你, 来迅速正常。 默认是 来迅速
预设 0 3 正常 预设 4-9。

平时 来迅速 与哈希链匹配查找器一起使用和 正常 二进制
树匹配查找器。 这也是 预设 的事。

不错=不错
指定被认为是合适的匹配长度。 一旦匹配
至少 不错 找到字节,算法停止寻找可能
更好的匹配。

尼斯 可以是 2-273 个字节。 较高的值往往会提供更好的压缩
以牺牲速度为代价的比率。 默认值取决于 预设.

深度=深度
指定匹配查找器中的最大搜索深度。 默认是
特殊值 0,这使得压缩机确定一个合理的 深度
mf不错.

合理 深度 哈希链是 4-100,二叉树是 16-1000。
使用非常高的值 深度 可以使编码器非常慢
一些文件。 避免设置 深度 超过 1000 除非您准备好
如果压缩时间过长,请中断压缩。

解码原始流时 (--格式=原始), LZMA2 只需要字典 尺寸.
LZMA1也需要 lc, lppb.

--x86[=选项]
--powerpc[=选项]
--ia64[=选项]
- 手臂[=选项]
--大拇指[=选项]
--sparc[=选项]
将分支/调用/跳转 (BCJ) 过滤器添加到过滤器链。 可以使用这些过滤器
仅作为过滤器链中的非最后过滤器。

BCJ 过滤器将机器代码中的相对地址转换为它们的绝对地址
同行。 这不会改变数据的大小,但会增加
冗余,这可以帮助 LZMA2 产生 0-15% 的小 .xz 文件。 BCJ
过滤器总是可逆的,因此对错误类型的数据使用 BCJ 过滤器不会
造成任何数据丢失,尽管它可能会使压缩率稍微变差。

可以在整个可执行文件上应用 BCJ 过滤器; 没有必要应用它
仅在可执行部分。 对包含以下内容的存档应用 BCJ 过滤器
可执行文件和非可执行文件都可能会也可能不会给出好的结果,所以它
通常在压缩二进制包时盲目应用 BCJ 过滤器是不好的
分发。

这些 BCJ 过滤器速度非常快,并且使用的内存量很小。 如果 BCJ
过滤器提高文件的压缩率,它可以提高解压速度
同时。 这是因为,在相同的硬件上,解压速度
LZMA2 大致是每秒固定字节数的压缩数据。

这些 BCJ 过滤器具有与压缩比相关的已知问题:

· 某些类型的文件包含可执行代码(例如目标文件、静态文件
库和 Linux 内核模块)在说明中有地址
填充填充值。 这些 BCJ 过滤器仍然会做地址
转换,这将使这些文件的压缩更糟。

· 对包含多个类似可执行文件的存档应用 BCJ 过滤器可以
使压缩比比不使用 BCJ 过滤器更糟。 这是因为
BCJ 过滤器不检测可执行文件的边界,并且
不会为每个可执行文件重置地址转换计数器。

以上两个问题都将在未来的新过滤器中得到解决。 老人
BCJ 滤波器在嵌入式系统中仍然有用,因为
新过滤器将更大并使用更多内存。

不同的指令集有不同的对齐方式:

过滤器校准说明
x86 1 32 位或 64 位 x86
仅限 PowerPC 4 Big endian
ARM 4 仅小端
ARM-Thumb 2 仅小端
IA-64 16 大端或小端
SPARC 4 大端或小端

由于 BCJ 过滤后的数据通常使用 LZMA2 进行压缩,因此压缩率
如果 LZMA2 选项设置为匹配
选择 BCJ 过滤器。 例如,使用 IA-64 过滤器,最好设置 铅=4
与 LZMA2 (2^4=16)。 x86 过滤器是一个例外; 坚持通常是好的
LZMA2 压缩 x86 可执行文件时的默认四字节对齐方式。

所有 BCJ 过滤器都支持相同的 选项:

开始=抵消
指定开始 抵消 在相对和之间转换时使用
绝对地址。 这 抵消 必须是对齐的倍数
过滤器(见上表)。 默认值为零。 在实践中,
默认是好的; 指定自定义 抵消 几乎从来没有用。

- 三角洲[=选项]
将 Delta 过滤器添加到过滤器链中。 Delta 滤波器只能用作
过滤器链中的非最后过滤器。

目前仅支持简单的逐字节增量计算。 它可能很有用
在压缩例如未压缩的位图图像或未压缩的 PCM 音频时。
然而,特殊用途的算法可能会给出比
Delta + LZMA2。 尤其是对于音频来说尤其如此,它压缩得更快更
更好,例如 后手(1)。

支持 选项:

距离=距离
指定 距离 增量计算的字节数。 距离 必须
1-256。 默认值为 1。

例如, 距离=2 和八字节输入 A1 B1 A2 B3 A3 B5 A4 B7,
输出将是 A1 B1 01 02 01 02 01 02。

其他名称 选项
-q, - 安静的
禁止警告和通知。 指定两次以抑制错误。 这个
选项对退出状态没有影响。 也就是说,即使有警告
被抑制,指示警告的退出状态仍然被使用。

-v, --详细
详细点。 如果标准错误连接到终端, xz 将显示一个
进度指示器。 指定 --详细 两次将提供更详细的输出。

进度指示器显示以下信息:

· 如果输入文件的大小已知,则显示完成百分比。 那是,
百分比不能在管道中显示。

· 产生(压缩)或消耗(解压)的压缩数据量。

· 消耗(压缩)或产生(解压缩)的未压缩数据量。

· 压缩率,即除以压缩数据量
到目前为止处理的未压缩数据量。

· 压缩或解压速度。 这被衡量为
每秒消耗(压缩)或产生(解压缩)的未压缩数据。
它在几秒钟后显示 xz 开始处理
文件中。

· 已用时间格式为 M:SS 或 H:MM:SS。

· 仅当输入文件的大小已知时才显示估计的剩余时间
从那以后已经过去了几秒钟 xz 开始处理
文件。 时间以不太精确的格式显示,没有任何冒号,
例如 2 分 30 秒。

当标准错误不是终端时, --详细 将使 xz 打印文件名,
压缩大小、未压缩大小、压缩率,可能还有速度
和压缩后单行到标准错误的经过时间或
解压文件。 速度和经过的时间仅在
操作至少需要几秒钟。 如果操作没有完成,例如由于
用户中断,如果大小,也会打印完成百分比
输入文件是已知的。

-Q, --无警告
即使检测到值得警告的情况,也不要将退出状态设置为 2。
此选项不会影响详细级别,因此 - 安静的--无警告
必须用于不显示警告和不改变退出状态。

- 机器人
以机器可解析的格式打印消息。 这是为了简化写作
想要使用的前端 xz 而不是 liblzma,这可能是这种情况
各种脚本。 启用此选项的输出旨在保持稳定
xz 发布。 见章节 机器人 MODE 了解详情。

--信息记忆
以人类可读的格式显示多少物理内存 (RAM) xz 认为
系统有压缩和解压的内存使用限制,退出
成功。

-h, - 帮帮我
显示描述最常用选项的帮助消息,然后退出
成功。

-H, --长期帮助
显示描述所有功能的帮助消息 xz, 并成功退出

-V, - 版
显示版本号 xz 和人类可读格式的 liblzma。 要得到
机器可解析的输出,指定 - 机器人 before - 版.

机器人 MODE


机器人模式通过 - 机器人 选项。 它使输出 xz 更容易
由其他程序解析。 目前 - 机器人 仅支持与 - 版,
--信息记忆- 列表. 它将支持正常压缩和解压缩
在未来。

版本
xz - 机器人 - 版 将打印版本号 xz 和 liblzma 在下面
格式:

XZ_版本=XYYYZZS
LIBLZMA_VERSION=XYYYZZS

X 主要版本。

YYY 次要版本。 偶数是稳定的。 奇数是 alpha 或 beta 版本。

ZZZ 稳定版本的补丁级别或只是开发版本的计数器。

S 稳定。 0 是 alpha,1 是 beta,2 是稳定的。 S 应该总是 2 时 YYY
甚至。

XYYYZZS 两行相同,如果 xz 和 liblzma 来自同一个 XZ Utils 版本。

示例:4.999.9beta 是 49990091 和 5.0.0 是 50000002.

内存 限制 信息
xz - 机器人 --信息记忆 打印一行包含三个制表符分隔的列:

1. 以字节为单位的物理内存 (RAM) 总量

2. 压缩的内存使用限制(以字节为单位)。 特殊值零表示
默认设置,对于单线程模式与无限制相同。

3. 以字节为单位的解压内存使用限制。 特殊值零表示
默认设置,对于单线程模式与无限制相同。

未来的产量 xz - 机器人 --信息记忆 可能有更多的列,但永远不会
不止一行。

清单 模式
xz - 机器人 - 列表 使用制表符分隔的输出。 每行的第一列有一个字符串
表示在该行找到的信息的类型:

姓名 开始列出文件时,这始终是第一行。 第二列在
该行是文件名。

文件 此行包含有关 .xz 文件。 这条线总是
打印后 姓名 线。

此线型仅在以下情况下使用 --详细 被指定。 有很多
线,因为有溪流 .xz 文件中。

阻止 此线型仅在以下情况下使用 --详细 被指定。 有很多 阻止
行,因为有块 .xz 文件。 的 阻止 行显示在所有
线条; 不同的线型不交错。

摘要
此线型仅在以下情况下使用 --详细 被指定了两次。 这条线是
毕竟印刷 阻止 线。 像 文件 线, 摘要 行包含
有关的整体信息 .xz 文件中。

总计 此行始终是列表输出的最后一行。 它显示总
计数和大小。

的列 文件 行数:
2.文件中的流数
3. 流中的块总数
4. 压缩文件大小
5. 文件未压缩大小
6.压缩比,例如 0.123. 如果比率超过 9.999,则显示三个破折号
(---) 而不是比率。
7. 逗号分隔的完整性检查名称列表。 使用了以下字符串
对于已知的检查类型: 不包含, CRC32, CRC64SHA-256. 对于未知检查
类型, 未知-N 使用,其中 N 是十进制数形式的支票 ID(一个或
两位数)。
8.文件中stream padding的总大小

的列 行数:
2.流数(第一个流为1)
3. 流中的块数
4.压缩起始偏移
5.未压缩的起始偏移量
6. 压缩大小(不包括流填充)
7. 未压缩大小
8.压缩比
9. 完整性检查名称
10. 流填充的大小

的列 阻止 行数:
2.包含该块的流的编号
3.块号相对于流的开头(第一个块为1)
4. 相对于文件开头的块号
5. 压缩相对于文件开头的起始偏移量
6. 未压缩的起始偏移量相对于文件的开头
7.块的总压缩大小(包括标题)
8. 未压缩大小
9.压缩比
10. 完整性检查名称

If --详细 被指定了两次,额外的列被包含在 阻止 线。
这些不是用单个显示的 --详细,因为获取这些信息需要
许多寻求,因此可能很慢:
11. 十六进制完整性校验值
12.块头大小
13.块标志: c 表示存在压缩大小,并且 u 表示
存在未压缩的大小。 如果未设置标志,则破折号 (-) 显示
而是保持字符串长度固定。 可能会在末尾添加新标志
未来的字符串。
14.块中实际压缩数据的大小(这里不包括块
标题、块填充和检查字段)
15.用这个解压缩这个块所需的内存量(以字节为单位) xz
版本
16. 过滤链。 请注意,压缩时使用的大多数选项不能
已知,因为只有解压所需的选项存储在
.xz 标头。

的列 摘要 行数:
2.用这个解压缩这个文件所需的内存量(以字节为单位) xz
版本
3. or 没有 指示是否所有块头都具有压缩大小和
存储在其中的未压缩大小
xz 5.1.2阿尔法:
4。 最低限度 xz 解压文件所需的版本

的列 总计 线:
2. 流数
3.块数
4. 压缩尺寸
5. 未压缩大小
6. 平均压缩率
7. 文件中存在的以逗号分隔的完整性检查名称列表
8. 流填充大小
9. 文件数。 这是为了保持前面列的顺序
同上 文件 线。

If --详细 被指定了两次,额外的列被包含在 总计 线:
10. 使用此解压缩文件所需的最大内存量(以字节为单位)
xz 版本
11. or 没有 指示是否所有块头都具有压缩大小和
存储在其中的未压缩大小
xz 5.1.2阿尔法:
12。 最低限度 xz 解压文件所需的版本

未来版本可能会添加新的线型,并且可以将新列添加到现有行中
类型,但不会更改现有列。

退出 状态


0 一切都很好。

1 发生错误。

2 发生了值得警告的事情,但没有发生实际错误。

打印在标准错误上的通知(不是警告或错误)不会影响退出状态。

环境


xz 从环境变量中解析空格分隔的选项列表 XZ_默认值
XZ_OPT, 按此顺序,在从命令行解析选项之前。 请注意,只有
选项是从环境变量中解析出来的; 所有非选项都被默默地忽略。
解析完成 获取选择长(3) 也用于命令行参数。

XZ_默认值
用户特定或系统范围的默认选项。 通常这是在 shell 中设置的
要启用的初始化脚本 xz默认情况下的内存使用限制器。 排除
shell 初始化脚本和类似的特殊情况,脚本绝不能设置或
未设定 XZ_默认值.

XZ_OPT 这是为了将选项传递给 xz 当无法设置选项时
直接上了 xz 命令行。 这是这种情况,例如,当 xz 由脚本运行
或工具,例如 GNU 焦油(1):

XZ_OPT=-2v tar caf foo.tar.xz foo

脚本可能会使用 XZ_OPT 例如设置脚本特定的默认压缩选项。 它
仍然建议允许用户覆盖 XZ_OPT 如果这是合理的,例如
in sh(1) 脚本可以使用这样的东西:

XZ_OPT=${XZ_OPT-"-7e"}
导出 XZ_OPT

LZMA 实用程序 兼容性


命令行语法 xz 实际上是一个超集 伊兹玛, Unzzma猫猫 as
从 LZMA Utils 4.32.x 中找到。 在大多数情况下,可以用 XZ 替换 LZMA Utils
不破坏现有脚本的实用程序。 虽然有一些不兼容,
有时可能会导致问题。

压缩 预设 各级
压缩级别预设的编号在 xz 和 LZMA 实用程序。 这
最重要的区别是字典大小如何映射到不同的预设。
字典大小大致等于解压器内存使用量。

级别 xz LZMA 实用程序
-0 256 KiB 不适用
-1 1 字节 64 字节
-2 2 兆字节 1 兆字节
-3 4 字节 512 字节
-4 4 兆字节 1 兆字节
-5 8 兆字节 2 兆字节
-6 8 兆字节 4 兆字节
-7 16 兆字节 8 兆字节
-8 32 兆字节 16 兆字节
-9 64 兆字节 32 兆字节

字典大小差异也会影响压缩器内存使用,但有一些
LZMA Utils 和 XZ Utils 之间的其他差异,这使得差异更大:

级别 xz LZMA 实用程序 4.32.x
-0 3 MiB 不适用
-1 9 兆字节 2 兆字节
-2 17 兆字节 12 兆字节
-3 32 兆字节 12 兆字节
-4 48 兆字节 16 兆字节
-5 94 兆字节 26 兆字节
-6 94 兆字节 45 兆字节
-7 186 兆字节 83 兆字节
-8 370 兆字节 159 兆字节
-9 674 兆字节 311 兆字节

LZMA Utils 中的默认预设级别是 -7 而在 XZ Utils 中,它是 -6,所以两者都使用 8
默认情况下 MiB 字典。

非流媒体 .lzma
文件的未压缩大小可以存储在 .lzma 标题。 LZMA Utils 做到了
压缩常规文件时。 另一种方法是标记未压缩的大小是
未知并使用有效载荷结束标记来指示解压缩器应该停止的位置。
LZMA Utils 在未压缩大小未知时使用此方法,这就是
管道中的例子。

xz 支持解压 .lzma 带有或不带有负载结束标记的文件,但所有 .lzma
创建的文件 xz 将使用有效载荷结束标记并将未压缩的大小标记为
未知的 .lzma 标题。 在一些不常见的情况下,这可能是一个问题。 为了
例如,一个 .lzma 嵌入式设备中的解压缩器可能仅适用于具有以下特征的文件
已知的未压缩大小。 如果遇到此问题,则需要使用 LZMA Utils 或 LZMA SDK
创建 .lzma 已知未压缩大小的文件。

不支持 .lzma
.lzma 格式允许 lc 值高达 8,和 lp 值最多为 4. LZMA Utils 可以
用任何方式解压文件 lclp, 但总是用 LC=3LP=0.
与其他人一起创建文件 lclp 有可能 xz 并使用 LZMA SDK。

liblzma 中 LZMA1 过滤器的实现要求总和 lclp 必须
不超过 4。因此, .lzma 超过此限制的文件无法解压
xz.

LZMA Utils 只创建 .lzma 字典大小为 2^ 的文件n (2的幂)但是
接受任何字典大小的文件。 liblzma 只接受 .lzma 具有
字典大小为 2^n 或 2^n + 2^(n-1). 这是为了减少误报
检测 .lzma 文件。

这些限制在实践中不应该成为问题,因为实际上所有 .lzma
已使用 liblzma 接受的设置进行压缩。

尾随 垃圾
解压时,LZMA Utils 静默忽略第一次之后的一切 .lzma 流。
在大多数情况下,这是一个错误。 这也意味着 LZMA Utils 不支持
解压连接 .lzma 文件。

如果第一次之后还有数据 .lzma 溪流, xz 认为文件已损坏
除非 --单流 被使用。 这可能会打破晦涩难懂的脚本,这些脚本假设
尾随垃圾被忽略。

附注


压缩 产量 五月 变化
从相同的未压缩输入文件产生的确切压缩输出可能会有所不同
即使压缩选项相同,XZ Utils 版本之间也是如此。 这是因为
可以在不影响文件格式的情况下改进编码器(更快或更好的压缩)。
即使在相同 XZ Utils 版本的不同版本之间,输出也会有所不同,如果
使用不同的构建选项。

以上意味着实施 --rsyncable 创建 rsyncable .xz 文件不去
在不冻结编码器实现的一部分的情况下发生,然后可以使用
--rsyncable.

嵌入式 .xz 解压器
嵌入式 .xz 像 XZ Embedded 这样的解压器实现不一定支持文件
诚信创造 类型以外的 没有crc32. 由于默认是
--检查=crc64,你必须使用 --检查=无 or --检查=crc32 创建嵌入式文件时
系统。

嵌入式系统之外,所有 .xz 格式解压器支持所有 类型,或在
至少能够在不验证完整性检查的情况下解压缩文件,如果
特别 不支持。

XZ Embedded 支持 BCJ 过滤器,但仅具有默认的起始偏移量。

示例


基础
压缩文件 FOOfoo.xz 使用默认压缩级别 (-6),并删除 FOO
如果压缩成功:

xz 富

解压缩 酒吧.xz酒吧 并且不要删除 酒吧.xz 即使解压成功:

xz -dk 酒吧.xz

创建 巴兹.tar.xz 与预设 -4e (-4 - 极端),这比例如慢
默认 -6,但需要较少的内存来进行压缩和解压缩(48 MiB 和 5 MiB,
分别):

焦油 cf - baz | xz -4e > baz.tar.xz

可以使用以下命令将压缩和未压缩文件的混合解压为标准输出
单个命令:

xz -dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt

并行 压片 of 许多
在 GNU 和 *BSD 上, 发现(1)和 参数(1) 可用于并行压缩许多
文件:

找 。 - 输入 f \! -name '*.xz' -print0 \
| xargs -0r -P4 -n16 xz -T1

-P 选项 参数(1) 设置并行数 xz 过程。 最好的价值
-n 选项取决于要压缩的文件数量。 如果只有一个
几个文件,值应该是 1; 数以万计的文件,100 或
甚至更多可能适合减少数量 xz 处理 参数(1) 将
最终创造。

选项 -T1 xz 有没有强制它进入单线程模式,因为 参数(1)是
用于控制并行化的数量。

机器人 模式
计算压缩多个文件后总共节省了多少字节:

xz --robot --list *.xz | awk '/^totals/{print $5-$4}'

脚本可能想知道它使用的是足够新的 xz。 下列 sh(1) 脚本
检查版本号 xz 工具至少为 5.0.0。 这种方法是
与不支持的旧测试版兼容 - 机器人 选项​​:

如果 ! eval "$(xz --robot --version 2> /dev/null)" ||
[ "$XZ_VERSION" -lt 50000002 ]; 然后
echo "你的 xz 太旧了。"
fi
取消设置 XZ_VERSION LIBLZMA_VERSION

使用设置解压的内存使用限制 XZ_OPT, 但如果一个限制已经
设置,不要增加它:

NEWLIM=$((123 << 20)) # 123 MiB
OLDLIM=$(xz --robot --info-memory | cut -f3)
如果 [ $OLDLIM -eq 0 -o $OLDLIM -gt $NEWLIM ]; 然后
XZ_OPT="$XZ_OPT --memlimit-decompress=$NEWLIM"
导出 XZ_OPT
fi

定制版 压缩机 过滤
自定义过滤器链的最简单用途是自定义 LZMA2 预设。 这可以
有用,因为预设只涵盖了潜在有用组合的一个子集
压缩设置。

选项描述中表格的 CompCPU 列 -0 ... -9
- 极端 在自定义 LZMA2 预设时很有用。 以下是相关部分
从这两个表中收集:

预设 CompCPU
- 0 0
- 1 1
- 2 2
- 3 3
- 4 4
- 5 5
- 6 6
-5e 7
-6e 8

如果您知道文件需要较大的字典(例如 32 MiB)才能压缩得很好,
但你想压缩它比 xz -8 会做,具有低 CompCPU 值的预设
(例如 1)可以修改为使用更大的字典:

xz --lzma2=预设=1,dict=32MiB foo.tar

对于某些文件,上述命令可能比 xz -6 压缩时
明显更好。 但是,必须强调的是,只有某些文件受益于
大字典,同时保持较低的 CompCPU 值。 最明显的情况,其中一个
大词典可以提供很多帮助,是一个包含至少一个非常相似的文件的档案
每个几兆字节。 字典大小必须比任何字典都大
单个文件以允许 LZMA2 充分利用之间的相似性
连续文件。

如果非常高的压缩器和解压缩器内存使用率很好,并且文件正在
压缩至少有几百兆字节,使用更大的可能有用
字典比 64 MiB xz -9 会使用:

xz -vv --lzma2=dict=192MiB big_foo.tar

运用 -vv (--详细 --详细) 就像在上面的例子中可以看到内存很有用
压缩机和解压器的要求。 请记住,使用更大的字典
比未压缩文件的大小更浪费内存,所以上面的命令不是
对小文件有用。

有时压缩时间并不重要,但解压器的内存使用量必须
保持较低,例如,可以在嵌入式系统上解压缩文件。 这
以下命令使用 -6e (-6 - 极端) 作为基础并将字典设置为仅
64 KB。 生成的文件可以用 XZ Embedded 解压缩(这就是为什么有
--检查=crc32) 使用大约 100 KiB 的内存。

xz --check=crc32 --lzma2=预设=6e,dict=64KiB foo

如果你想挤出尽可能多的字节,调整字面量
上下文位(lc) 和位置位数 (pb) 有时会有所帮助。 调整
文字位置位数(lp) 也可能有帮助,但通常 lcpb 更多
重要的。 例如,源代码存档主要包含 US-ASCII 文本,因此类似于
以下可能会给出比 xz -6e (也尝试没有
LC=4):

xz --lzma2=预设=6e,pb=0,lc=4 源代码.tar

将另一个过滤器与 LZMA2 一起使用可以提高某些文件类型的压缩率。
例如,使用 x86 BCJ 过滤器压缩 x32-86 或 x64-86 共享库:

xz --x86 --lzma2 libfoo.so

请注意,过滤器选项的顺序很重要。 如果 --x86 在之后指定
--lzma2, xz 会报错,因为LZMA2之后不能有任何过滤器,而且
因为 x86 BCJ 过滤器不能用作链中的最后一个过滤器。

Delta 过滤器与 LZMA2 一起可以为位图图像提供良好的效果。 这应该
通常胜过 PNG,它比简单的 delta 有一些更高级的过滤器,但使用了 Deflate
用于实际压缩。

图像必须以未压缩的格式保存,例如未压缩的 TIFF。 距离
Delta 过滤器的参数设置为匹配图像中每个像素的字节数。
例如需要 24 位 RGB 位图 距离=3, 也不错过 铅=0 到 LZMA2 到
容纳三字节对齐:

xz --delta=dist=3 --lzma2=pb=0 foo.tiff

如果多个图像已放入单个存档(例如 。柏油),Delta 滤波器将
只要所有图像的每个像素具有相同的字节数,也可以这样做。

使用 onworks.net 服务在线使用 xzcat


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad