xz
xz 是 Linux 系统中一款高效的压缩/解压缩工具,使用 LZMA2 算法,压缩比通常优于 gzip 和 bzip2,但压缩和解压速度较慢,适用于处理大型文件,生成 .xz 格式文件,通常和 tar 搭配形成 .tar.xz。
xz [选项] [文件...]xz 本身只能压缩单个文件,处理目录时,通常先用 tar 工具打包,然后用 xz 压缩。
1. 压缩选项
| 选项 | 说明 |
|---|---|
-z |
压缩文件(默认行为) |
-k |
保留原文件(压缩后不会删除原文件) |
-c |
将压缩结果输出到标准输出(不修改原文件),一般配合重定向使用 |
-f |
强制压缩,覆盖已存在的目标文件 |
-0 至 -9 |
压缩级别(-0 最快,-9 压缩率最高,默认 -6) |
--threads=N |
使用 N 个线程进行压缩(可加快速度) |
-v |
显示详细信息 |
2. 解压选项
| 选项 | 说明 |
|---|---|
-d |
解压文件,等价于 unxz |
-k |
解压时保留原文件 |
-c |
将解压结果输出到标准输出,一般配合重定向使用 |
-f |
强制解压,覆盖已有文件 |
-t |
测试压缩文件完整性 |
-l |
列出压缩文件的信息(不解压) |
-v |
显示详细信息 |
1. 压缩文件
# 压缩单个文件(默认删除原文件,生成 file.txt.xz)xz file.txt
# 压缩并保留原文件xz -k file.txt
# 最高压缩率(耗时较长)xz -9 -k file.txt
# 显示压缩进度xz -v file.txt2. 解压文件
# 解压缩(默认删除 .xz 文件,恢复为 file.txt)xz -d file.txt.xz# 或unxz file.txt.xz
# 解压缩并保留 .xz 文件xz -d -k file.txt.xz
# 显示解压缩进度xz -d -v file.txt.xz3. 压缩/解压缩到标准输出
# 压缩文件并输出到另一个文件(不删除原文件)xz -c file.txt > file_compressed.xz
# 解压缩到标准输出,并重定向到文件xz -d -c file.txt.xz > file_restored.txt4. 目录压缩/解压缩处理
# 先打包再压缩tar -cf file.tar directory/ # 创建归档xz file.tar # 压缩成 file.tar.xz
# 解压 .tar.xz 归档xz -d file.tar.xz # 得到 file.tartar -xf file.tar # 解开 tar 包也可以一步完成,tar 中有专门调用 xz 的选项 -J:
# 创建 .tar.xz 归档(先打包再压缩)tar -cJf file.tar.xz directory/
# 解压 .tar.xz 归档tar -xJf file.tar.xzman xz- XZ Utils 官方网站