使用标准 Linux 工具提取 7z 文件?

使用标准 Linux 工具提取 7z 文件?

我知道您可以.7z使用 7-zip 提取文件。

还有其他标准的 Linux 程序可以做到这一点吗?也许这些是其中之一

tar
bzip2
xz
gzip

我要补充的是bsdtar,可以做到这一点,但并非在所有系统上都可用。

答案1

不可以。7-Zip 档案使用 LZMA 和 LZMA2,标准工具不支持它们(它们也使用 bzip2,但您仍然需要解码标头)。

答案2

7-zip 档案可以使用以下方式提取p7ziphttp://p7zip.sourceforge.net/) 在 Linux 上。它包含在 Debian、Fedora、Ubuntu 以及可能其他发行版的存储库中。

列出内容(小写 L,表示列表):

7za l myarchive.7z

摘录内容:

7za x myarchive.7z

答案3

在 Unix 上使用 7-Zip 档案的“标准”方式是使用P7ZIP。但由于 7-Zip 格式主要为 Windows 设计,因此您不应该期望P7ZIP它默认安装在 Linux 发行版上。

如果你想要在 Unix 上使用 LZMA 压缩,最好XZ 实用程序

答案4

我在 RHEL/CentOS 上的任何 yum 存储库中都找不到 7za,因此我刚刚从 sourceforge.net 下载了最新版本的源代码:

$ wget https://sourceforge.net/projects/p7zip/files/p7zip/16.02/p7zip_16.02_src_all.tar.bz2

(将上面的“16.02”更改为您尝试下载时的最新版本,您可以通过以下方式找到https://sourceforge.net/projects/p7zip/files/p7zip/)。

在下载 p7zip 档案的目录中,将其解压:

$ tar -xvjf p7zip_16.02_src_all.tar.bz2

然后在解压的文件夹内以 root 用户身份运行 make 命令:

# make
# make install

7za它将在目录中生成二进制文件/usr/local/bin(如果您至少使用 RHEL7):

$ whereis 7za
7za: /usr/local/bin/7za

相关内容