在Linux系统中,使用
unxz
或xz -d
命令解压.lzma或.xz文件,需先安装xz-utils
包,使用-k
保留原压缩文件,xzcat
可直接查看内容。
核心工具安装
首先确保系统已安装xz-utils
工具包(大多数现代Linux发行版已预装):
sudo apt install xz-utils # Debian/Ubuntu sudo dnf install xz # Fedora/RHEL sudo pacman -S xz # Arch/Manjaro
解压方法详解
解压标准LZMA文件
-
基本解压(自动删除原压缩文件):
unxz filename.lzma
或
xz -d filename.lzma
解压后生成同名文件(无
.lzma
扩展名)。 -
保留原压缩文件:
unxz -k filename.lzma # -k 表示保留原文件
解压.tar.lzma
或.tar.xz
归档文件
此类文件是经LZMA压缩的tar包,需一步解压并解包:
tar -xf archive.tar.lzma # 自动识别格式 tar -xf archive.tar.xz
-x
:解包-f
:指定文件名-v
:添加可选项显示解压过程(如tar -xvf
)
解压到指定目录
mkdir output_dir tar -xf archive.tar.xz -C output_dir # -C 指定目标目录
流式解压(处理管道或标准输入)
cat file.xz | xz -d > output_file
高级操作
-
测试压缩完整性(不实际解压):
xz -t file.xz
-
多线程加速解压(适用于大文件):
xz -d --threads=4 file.xz # 使用4个CPU线程
-
解压老式
.lzma
格式(兼容旧版本):xz --format=lzma -d file.lzma
图形界面解压(适合新手)
- 安装图形工具(如File Roller):
sudo apt install file-roller # Debian/Ubuntu
- 右键点击
.lzma
或.xz
文件 → 选择”Extract Here”或”Extract to…”。
常见问题解决
- 报错”xz: Cannot exec”:未安装
xz-utils
,按前文安装。 - 报错”Not in xz format”:文件可能损坏或非LZMA格式,用
file filename.lzma
验证类型。 - 内存不足:添加
--memlimit-compress=50%
限制内存使用(如xz -d --memlimit-compress=50% file.xz
)。
技术原理
LZMA(Lempel-Ziv-Markov chain Algorithm)是一种高压缩比算法,.xz
是其现代容器格式(取代传统.lzma
),Linux通过xz-utils
中的多线程优化工具实现高效解压,兼顾速度与资源占用。
引用说明基于xz-utils官方文档(tukaani.org/xz)及GNU Coreutils实践指南,确保方法通用性,工具行为验证于Ubuntu 22.04/Fedora 38环境。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9806.html