ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

linux-command 项目中的 xz 命令详解:基于 LZMA2 的高压缩率压缩工具实战指南

linux-command 项目中的 xz 命令详解:基于 LZMA2 的高压缩率压缩工具实战指南 文档教程【免费下载链接】linux-commandLinux命令大全搜索工具内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux项目地址https://gitcode.com/GitHub_Trending/linux/linux-command点击查看免费下载XZ Utils 是一套面向 POSIX 平台开发的高压缩率压缩工具本仓库 linux-command 收录了其核心命令xz的完整手册。本文以 command/xz.md 为骨架结合仓库内 command/tar.md 中的联动用法系统讲解xz的语法、全部选项、压缩预设与实战场景帮助你用它替代 gzip、bzip2获得更小的压缩体积与更快的解压速度。XZ Utils 是什么xz命令来自 XZ Utils——一个专为 POSIX 平台Linux、BSD、macOS 等设计的高压缩率工具集。它使用LZMA2 压缩算法生成的压缩文件比 POSIX 平台传统使用的 gzip、bzip2 更小同时解压缩速度也很快。从实现渊源看XZ Utils 最初基于 LZMA-SDK 开发但 LZMA-SDK 包含不少 Windows 平台特性因此 XZ Utils 为适应 POSIX 平台做了大幅修改并最终取代了 POSIX 系统中旧的 LZMA Utils。压缩后的文件通常以.xz为扩展名默认情况下压缩成功后会删除原始输入文件。命令语法xz(选项)(参数) xz [OPTION]... [FILE]...选项OPTION控制压缩、解压、测试、信息展示等行为见下节。文件FILE一个或多个待处理的源文件省略文件时从标准输入读取。选项详解下表完整罗列了xz命令的常用选项取自 command/xz.md 并补充了默认值与取值说明-z, --compress # 强制压缩默认行为 -d, --decompress, --uncompress # 强制解压 -t, --test # 测试压缩文件的完整性不实际解压 -l, --list # 列出有关 .xz 文件的信息 -k, --keep # 保留不删除输入文件 -f, --force # 强制覆盖输出文件和解压缩链接 -c, --stdout, --to-stdout # 写入标准输出不删除输入文件 -0 ... -9 # 压缩预设默认为 6使用 7-9 之前 # 需考虑解压缩时内存使用量 -e, --extreme # 通过使用更多 CPU 时间提高压缩比 # 不影响解压缩所需内存 -T, --threadsNUM # 最多使用 NUM 个线程默认值为 1 # 设置为 0 时使用与处理器内核一样多的线程 -q, --quiet # 抑制警告指定两次以抑制错误 -v, --verbose # 冗长输出指定两次更详细 -h, --help # 显示简洁帮助并退出 -H, --long-help # 显示更多帮助还列出高级选项 -V, --version # 显示版本号并退出关键选项的实战理解-k, --keep默认压缩/解压后会删除输入文件加上-k可保留原始文件适合需要同时保留原稿与压缩稿的场景。-c, --stdout结果写入标准输出且不删除输入文件可与重定向配合实现另存为效果也可用于管道场景。-T, --threads默认单线程。多核机器上设为0可自动使用全部内核显著加快大文件压缩但线程数提高会额外占用内存。-e, --extreme在相同-0...-9预设下进一步压榨压缩比代价是更长的压缩时间解压内存需求不变。参数说明源文件指定要压缩/解压的文件路径目标文件指定输出文件路径一般不显式给出xz会按输入文件名自动生成.xz后缀或去掉后缀。实战实例1. 压缩文件压缩test.txt成功后生成test.txt.xz原文件被删除$ xz test.txt $ ls test.txt* test.txt.xz2. 解压并保留原文件解压test.txt.xz并使用-k保持原压缩文件不被删除$ xz -d -k test.txt.xz $ ls test.txt* test.txt.xz test.txt3. 查看 .xz 文件信息使用-l显示压缩文件的基本信息包括压缩率、数据完整性验证方式等配合-v或-vv可显示更详尽的信息$ xz -l index.txt.xz # Strms Blocks Compressed Uncompressed Ratio Check Filename # 1 1 768 B 1,240 B 0.619 CRC64 index.txt.xz输出中的Check列如CRC64表示完整性校验方式Ratio为压缩率Strms与Blocks反映流与块结构。4. 选择压缩率预设使用-0, -1, -2, ... -6, ... -9或--fast, --best设定压缩率。xz默认值为-6对于大多数系统甚至一些较旧系统-4 ... -6预设值都有不错的表现$ xz -k7 xz_pipe_decomp_mini.c # 高压缩率注意需评估解压内存 $ xz -k --fast xz_pipe_decomp_mini.c # --fast 等价于 -0速度最快注意使用-7 ... -9高预设之前务必考虑解压缩时的内存使用量——压缩等级越高解压所需内存越大可能影响目标环境。5. 查看完整帮助-H显示xz的所有选项比--help更详细$ xz -H | more6. 借助 xargs 并行压缩多文件下面的命令行可将/var/log目录下所有.log文件压缩。通过xargs同时运行多个xz进程并行压缩需 root 权限# 运行此命令须有 root 权限。 find /var/log -type f -iname *.log -print0 | xargs -P4 -n16 xz -T1这里-P4表示并发 4 个进程-n16表示每个进程一次处理 16 个文件xz -T1让每个进程保持单线程避免线程叠加造成资源浪费。与 tar 的联动tar.xz 归档xz最经典的组合是配合 tar 打包生成.tar.xz归档。仓库 command/tar.md 记录了两种用法方式一先打包再压缩压缩xz [原文件名].tar 解压unxz [原文件名].tar.xz方式二一次性打包并压缩、解压并解包打包并压缩tar -Jcvf [目标文件名].tar.xz [原文件名/目录名] 解压并解包tar -Jxvf [原文件名].tar.xz注大写J代表使用 xz 算法来压缩/解压对应 command/tar.md 中的 tar.xz 格式说明。与 gzip 的-z、bzip2 的-j相比-J压缩率更高是发布大型软件包时的常见选择。对比与选型建议工具算法压缩率速度特点扩展名gzipDEFLATE低压缩快、解压快.gzbzip2BWT中压缩较慢.bz2xzLZMA2高压缩慢、解压快.xz日常归档用tar -Jcf得到更小的体积追求压缩速度时可用--fast或降级到-4多核服务器压缩大批量文件时善用-T0线程参数与xargs -P并行策略。本仓库 command/gzip.md 中 gzip 的选项设计与xz高度相似如-d/-c/-t/-v等语义一致掌握xz后迁移使用其他压缩命令成本很低。小结xz是 POSIX 平台高压缩率压缩的标准答案默认-6预设兼顾压缩比与资源开销-k/-c保证文件安全-l便于审计压缩质量-T0与xargs -P组合释放多核性能。将其与 tar 的-J选项配合即可构建完整的高压缩归档工作流。更多细节可随时查阅本仓库的 command/xz.md 原始手册或在命令行执行xz -H获取全部选项说明。赞分享文档教程【免费下载链接】linux-commandLinux命令大全搜索工具内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux项目地址https://gitcode.com/GitHub_Trending/linux/linux-command点击查看免费下载相关推荐lha 命令详解Linux 下 LZH 格式压缩与解压缩实战指南linux-command 项目lha 命令详解Linux 下 LZH 格式压缩与解压缩实战指南linux command 项目 本文以 linux command 开源仓库中的 lha文档教程bzip2 命令详解Linux 下 .bz2 高压缩率压缩与解压实战指南bzip2 命令详解Linux 下 .bz2 高压缩率压缩与解压实战指南 本文基于 linux command 仓库的 command/bzip2.md ht文档教程Linux 7z 命令详解7-Zip 高压缩比压缩与解压实战指南Linux 7z 命令详解7 Zip 高压缩比压缩与解压实战指南 7z 是开源压缩软件 7 Zip 在 Linux 平台的命令行前端p7zip 包提供以文档教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表