菜鸟科技网

如何使用LZMA解压命令?不同系统下LZMA解压命令有何差异?如何处理LZMA压缩文件解压时的常见错误?

核心解压命令

lzma 命令本身可以直接解压 .lzma 文件。

如何使用LZMA解压命令?不同系统下LZMA解压命令有何差异?如何处理LZMA压缩文件解压时的常见错误?-图1
(图片来源网络,侵删)

基本语法

lzma [选项] [文件名]

最常用的解压命令

解压 .lzma 文件 假设您有一个名为 archive.lzma 的文件,解压它会生成一个名为 archive 的文件。

# 基本解压
lzma -d archive.lzma
# 或者使用 --decompress 选项,效果相同
lzma --decompress archive.lzma
  • -d--decompress:明确指定进行解压缩操作。

解压 .xz 文件 xzlzma 的改进和后续版本,现在更为流行。lzma 命令通常也兼容 .xz 文件。

# 解压 .xz 文件
lzma -d archive.xz

查看帮助

您可以随时查看 lzma 的帮助信息,获取所有可用选项的列表。

man lzma
# 或者
lzma --help

tar 结合使用(非常重要)

在实际应用中,我们很少单独使用 lzma 来压缩单个文件,而是用它来压缩整个目录或文件集合,这时,通常会将其与 tar 命令结合使用。

如何使用LZMA解压命令?不同系统下LZMA解压命令有何差异?如何处理LZMA压缩文件解压时的常见错误?-图2
(图片来源网络,侵删)

tar (Tape Archiver) 是一个用于打包文件的工具,而 lzma/xz 负责压缩,这种组合方式非常高效。

核心选项

  • J专门用于处理 .xz 格式,这是 tar 中最推荐的选项。
  • a自动处理 .lzma.xz 格式tar 会根据文件扩展名自动选择使用哪种解压工具。
  • z:用于处理 .gz (gzip) 格式。
  • j:用于处理 .bz2 (bzip2) 格式。

常见解压命令

解压 .tar.xz 文件 这是目前 Linux/Unix 系统上非常常见的压缩格式,因为它压缩率高且速度较快。

# 方法1:使用 -J 选项(推荐)
tar -xvf archive.tar.xz
# 方法2:使用 -a 选项(自动识别)
tar -axvf archive.tar.xz
  • -x:eXtract (解压)
  • -vVerbose (显示详细过程,可选)
  • -f:指定档案文件 File (必须放在选项最后)
  • -J:使用 xz 进行解压。

解压 .tar.lzma 文件 这是较老但仍在使用的 lzma 格式。

# 方法1:显式指定解压程序
tar --lzma -xvf archive.tar.lzma
# 方法2:使用 -a 选项(自动识别)
tar -axvf archive.tar.lzma
  • --lzma:告诉 tar 使用 lzma 程序来解压。

常用选项总结

选项 全称 描述
-d --decompress 解压模式,这是解压操作的核心选项。
-k --keep 保留(不删除)原始压缩文件。
-c --stdout 标准输出,将解压后的内容输出到终端,而不是写入文件,常用于管道操作。
-f --file=ARCHIVE 指定操作的文件,对于 tar,此选项必须放在最后。

示例:使用 -k 选项

如果您想在解压后仍然保留原始的 .tar.xz 文件,可以加上 -k

如何使用LZMA解压命令?不同系统下LZMA解压命令有何差异?如何处理LZMA压缩文件解压时的常见错误?-图3
(图片来源网络,侵删)
tar -xvkf archive.tar.xz

示例:使用 -c 选项(管道)

这个技巧很有用,比如你想直接查看一个压缩包里的某个文件,而不需要先解压整个包。

# 查看 .tar.xz 文件中的 README.md 内容,不解压整个包
tar -xvf archive.tar.xz --to-stdout README.md
# 或者更简洁的写法(tar 支持)
xz -dc archive.tar.xz | tar -xf - -O README.md
  • xz -dc:解压 archive.tar.xz 并将内容输出到标准输出 (-c)。
  • 管道,将前一个命令的输出作为后一个命令的输入。
  • tar -xf - -O README.md:从标准输入 () 读取 tar 格式的内容,然后提取 README.md 文件并输出到标准输出 (-O)。

不同系统下的工具

  • Linux (现代发行版): 通常同时安装了 xz-utils (提供 xz, unxz, lzma, unlzma 命令) 和 tar 的支持。

    • xzlzma 的升级版,推荐优先使用 xz
    • unxz 是专门用来解压 .xz 文件的命令。
    • unlzma 是专门用来解压 .lzma 文件的命令。
  • macOS: 默认安装了 xz 命令。tar 也支持 -J-a 选项。

  • Windows: 通常没有内置命令行工具,需要安装第三方软件,如:

    • 7-Zip: 强烈推荐,它支持 .xz.lzma 格式,并且有图形界面和命令行版本。
    • WinRAR: 也支持这些格式。

总结与快速参考

压缩包类型 推荐解压命令
file.lzma lzma -d file.lzma
file.xz lzma -d file.xz
archive.tar.xz tar -xvf archive.tar.xz (或 tar -Jxvf archive.tar.xz)
archive.tar.lzma tar --lzma -xvf archive.tar.lzma (或 tar -axvf archive.tar.lzma)

核心要点

  1. 对于单个 .lzma.xz 文件,使用 lzma -d filename
  2. 对于 .tar.xz.tar.lzma 文件,使用 tar 命令,并配合 -J--lzma/-a 选项。
  3. 在现代系统中,优先使用 xz 格式而不是 lzma,因为它有更好的性能和压缩率。
分享:
扫描分享到社交APP
上一篇
下一篇