不能在 Linux 中提取 .7z 文件？学习如何在 Ubuntu 和其他 Linux 发行版中安装和使用 7zip。7Zip（更适当的写法是 7-Zip）是一种在 Windows 用户中广泛流行的归档格式。一个 7Zip 归档文件通常以 .7z 扩展结尾。它大部分是开源的，除了包含一些少量解压 rar 文件的代码。默认大多数 Linux 发行版不支持 7Zip。如果你试图提取它，你会看见这个错误：不能打开这种文件类型没有已安装的适用 7-zip 归档文件的命令。你想搜索一个命令来打开这个文件吗？不要担心，你可以轻松的在 Ubuntu 和其他 Linux 发行版中安装 7zip。一个问题是你会注意到如果你试图用 apt-get install 命令，你会发现没有以 7zip 开头的候选安装。因为在 Linux 中 7Zip 包的名字是 p7zip。以字母 “p” 开头而不是预期的数字 “7”。让我们看一下如何在 Ubuntu 和其他 Linux 发行版中安装 7zip。在 Ubuntu Linux 中安装 7Zip你需要做的第一件事是安装 p7zip 包。你会在 Ubuntu 中发现 3 个包：p7zip、p7zip-full 和 pzip-rar。pzip 和 p7zip-full 的不同是 pzip 是一个轻量级的版本，仅仅对 .7z 文件提供支持，而 p7zip-full 提供了更多的 7z 压缩算法（例如音频文件）。p7zip-rar 包在 7z 中提供了对 RAR 文件 的支持在大多数情况下安装 p7zip-full 就足够了，但是你可能想安装 p7zip-rar 来支持 rar 文件的解压。p7zip 包在 Ubuntu 的 universe 仓库 因此保证你可以使用以下命令：sudo add-apt-repository universe sudo apt update在 Ubuntu 和基于 Debian 的发行版中使用以下命令。sudo apt install p7zip-full p7zip-rar这很好。现在在你的系统就有了 7zip 归档的支持。在 Linux 中提取 7Zip 归档文件安装了 7Zip 后，在 Linux 中，你可以在图形用户界面或者 命令行中提取 7zip 文件。在图形用户界面，你可以像提取其他压缩文件一样提取 .7z 文件。右击文件来提取它。在终端中，你可以使用下列命令提取 .7z 归档文件：7z e file.7z在 Linux 中压缩文件为 7zip 归档格式你可以在图形界面压缩文件为 7zip 归档格式。简单的在文件或目录上右击，选择“压缩”。你应该看到几种类型的文件格式选项。选择 .7z。作为替换，你也可以在命令行中使用。这里是你可以用来压缩的命令：7z a 输出的文件名 要压缩的文件默认，归档文件有 .7z 扩展。你可以通过在指定输出文件扩展名为 .zip 以压缩为 zip 格式。总结就是这样。看，在 Linux 中使用 7zip 多简单？我希望你喜欢这个快速指南。如果你有问题或者建议，请随意在下方评论让我知道。via: https://itsfoss.com/use-7zip-ubuntu-linux/作者：Abhishek Prakash 选题：lujun9972 译者：warmfrog 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
7z 无疑是一个功能强大的强大的归档工具（声称提供最高的压缩比）。在 HowtoForge 中，我们已经已经讨论过如何安装和使用它。但讨论仅限于你可以使用该工具提供的“功能字母”来使用基本功能。在本教程中，我们将扩展对这个工具的说明，我们会讨论一些 7z 提供的“开关”。 但在继续之前，需要说明的是，本教程中提到的所有说明和命令都已在 Ubuntu 16.04 LTS 上进行了测试。注意：我们将使用以下截图中显示的文件来执行使用 7zip 的各种操作。包含文件7z 工具允许你有选择地将文件包含在归档中。可以使用 -i 开关来使用此功能。语法：-i[r[-|0]]{@listfile|!wildcard} 比如，如果你想在归档中只包含 “.txt” 文件，你可以使用下面的命令：$ 7z a ‘-i!*.txt’ include.7z 这是输出： 现在，检查新创建的归档是否只包含 “.txt” 文件，你可以使用下面的命令：$ 7z l include.7z 这是输出： 在上面的截图中，你可以看到 “testfile.txt” 已经包含到归档中了。排除文件如果你想要，你可以排除不想要的文件。可以使用 -x 开关做到。语法：-x[r[-|0]]]{@listfile|!wildcard} 比如，如果你想在要创建的归档中排除 “abc.7z” ，你可以使用下面的命令：$ 7z a ‘-x!abc.7z’ exclude.7z 这是输出： 要检查最后的归档是否排除了 “abc.7z”, 你可以使用下面的命令：$ 7z l exclude.7z 这是输出： 上面的截图中，你可以看到 “abc.7z” 已经从新的归档中排除了。专业提示：假设任务是排除以 “t” 开头的所有 .7z 文件，并且包含以字母 “a” 开头的所有 .7z 文件。这可以通过以下方式组合 -i 和 -x 开关来实现：$ 7z a '-x!t*.7z' '-i!a*.7z' combination.7z 设置归档密码7z 同样也支持用密码保护你的归档文件。这个功能可以使用 -p 开关来实现。$ 7z a [archive-filename] -p[your-password] -mhe=[on/off] 注意：-mhe 选项用来启用或者禁用归档头加密（默认是“off”）。例子：$ 7z a password.7z -pHTF -mhe=on 无需多说，当你解压密码保护的归档时，工具会向你询问密码。要解压一个密码保护的文件，使用 e 功能字母。下面是例子：$ 7z e password.7z 设置输出目录工具同样支持解压文件到你选择的目录中。这可以使用 -o 开关。无需多说，这个开关只在含有 e 或者 x 功能字母的时候有用。$ 7z [e/x] [existing-archive-filename] -o[path-of-directory] 比如，假设下面命令工作在当前的工作目录中：$ 7z e output.7z -ohow/to/forge 如 -o 开关的值所指的那样，它的目标是解压文件到 ./how/to/forge 中。这是输出： 在上面的截图中，你可以看到归档文件的所有内容都已经解压了。但是在哪里？要检查文件是否被解压到 ./how/to/forge，我们可以使用 ls -R 命令。 在上面的截图中，我们可以看到 .7z 中的内容都被解压到 ./how/to/forge 中。创建多个卷借助 7z 工具，你可以为归档创建多个卷（较小的子档案）。当通过网络或 USB 传输大文件时，这是非常有用的。可以使用 -v 开关使用此功能。这个开关需要指定子档案的大小。我们可以以字节（b）、千字节（k）、兆字节（m）和千兆字节（g）指定子档案大小。$ 7z a [archive-filename] [files-to-archive] -v[size-of-sub-archive1] -v[size-of-sub-archive2] .... 让我们用一个例子来理解这个。请注意，我们将使用一个新的目录来执行 -v 开关的操作。这是目录内容的截图： 现在，我们运行下面的命令来为一个归档文件创建多个卷（每个大小 100b）：7z a volume.7z * -v100b 这是截图： 现在，要查看创建的子归档，使用 ls 命令。 如下截图所示，一共创建四个卷 - volume.7z.001、volume.7z.002、volume.7z.003 和 volume.7z.004注意：你可以使用 .7z.001 归档文件来解压。但是，要这么做，其他所有的卷都应该在同一个目录内。设置归档的压缩级别7z 允许你设置归档的压缩级别。这个功能可以使用 -m 开关。7z 中有不同的压缩级别，比如：-mx0、-mx1、-mx3、-mx5、-mx7 和 -mx9。这是这些压缩级别的简要说明：mx0 = 完全不压缩 - 只是复制文件到归档中。mx1 = 消耗最少时间，但是压缩最小。mx3 = 比 -mx1 好。mx5 = 这是默认级别 （常规压缩）。mx7 = 最大化压缩。mx9 = 极端压缩。注意：关于这些压缩级别的更多信息，阅读这里。$ 7z a [archive-filename] [files-to-archive] -mx=[0,1,3,5,7,9] 例如，我们在目录中有一堆文件和文件夹，我们每次尝试使用不同的压缩级别进行压缩。作为一个例子，这是当使用压缩级别 “0” 时创建存档时使用的命令。$ 7z a compression(-mx0).7z * -mx=0 相似地，其他命令也这样执行。以下是输出档案（使用 “ls” 命令生成）的列表，其名称表示其创建中使用的压缩级别，输出中的第五列显示压缩级别对其大小的影响。显示归档的技术信息如果需要，7z 还可以在标准输出中显示归档的技术信息 - 类型、物理大小、头大小等。可以使用 -slt 开关使用此功能。 此开关仅适用于带有 l 功能字母的情况下。$ 7z l -slt [archive-filename] 比如：$ 7z l -slt abc.7z 这是输出：指定创建归档的类型如果你想要创建一个非 7z 的归档文件（这是默认的创建类型），你可以使用 -t 开关来指定。$ 7z a -t[specify-type-of-archive] [archive-filename] [file-to-archive] 下面的例子展示创建了一个 .zip 文件：7z a -tzip howtoforge * 输出的文件是 “howtoforge.zip”。要交叉验证它的类型，使用 file 命令： 因此，howtoforge.zip 的确是一个 ZIP 文件。相似地，你可以创建其他 7z 支持的归档。总结你将会认识到， 7z 的 “功能字母” 以及 “开关” 的知识可以让你充分利用这个工具。我们还没有完成开关的部分 - 其余部分将在第 2 部分中讨论。via: https://www.howtoforge.com/tutorial/understanding-7z-command-switches/作者：Himanshu Arora 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
很多时候，通过互联网发送或接收大文件和图片是一件令人头疼的事。压缩及解压缩工具正好可以应对这个问题。下面让我们快速浏览一些可以使得我们的工作更加轻松的开源工具。TarTar 由 'Tape archiver（磁带归档器）' 衍生而来，最初被用来在磁带上归档和存储文件。Tar 是一个 GNU 软件，它可以压缩一组文件（归档），或提取它们以及对已有的归档文件进行相关操作。在存储、备份以及传输文件方面，它是很有用的。在创建归档文件时，Tar 可以保持原有文件和目录结构不变。通过 Tar 归档的文件的后缀名为 ‘.tar’。基本用法如下：a) 创建归档 (c / --create)tar --create --verbose --file=archive.tar file1 file2 file3 或tar cvf archive.tar file1 file2 file3 创建一个归档b) 列出归档文件内容 ( t / --list)tar --list archive.tar 列出归档中包含的文件c) 提取归档 (x / --extract)tar xvf archive.tar tar xvf archive.tar --wildcards '*.c' - 从归档中提取后缀名为 *.c 的文件。 提取文件只提取需要的文件d) 对归档文件进行更新 ( u / --update)tar uvf archive.tar newfile.c - 假如归档的newfile.c 要比先前已经归档的新，则添加更新的 newfile.c 到归档里面. 更新一个归档e) 从归档中删除文件 (--delete)tar --delete -f archive.tar file1.c - 从压缩包'archive.tar' 中删除文件'file1.c' 删除文件更加具体的使用方法请参考tar 主页。Gzip / GunzipGzip 即 GNU zip，它是一个被广泛用于 Linux 操作系统中的压缩应用，被其压缩的文件的后缀名为'*.gz' 。基本用法如下：a) 压缩文件gzip file(s) 每个文件将被单独压缩。压缩文件通常在压缩完成后，它会将原来的文件删除。我们可以使用 -c 选项来保留原来的文件。gzip -c file > file.gz 压缩后保留原有文件我们也可以将一组文件压缩到一个单独的文件中cat file1 file2 file3 | gzip > archieve.gz 压缩一组文件b) 检查压缩比被压缩文件的压缩比可以使用 ‘-l’ 选项来进行检验。gzip -l archieve.gz 检查压缩率c) 解压文件Gunzip 用来解压文件，在这里，原有的（压缩）文件在被解压后同样会被删除。使用 -c选项来保留原始文件。gunzip -c archieve.gz 解压文件gzip 加上'-d'选项 和 gunzip 对压缩文件有同样的效果。更多细节可以从 gzip 主页 得到。Bzip2 / Bunzip2同 gzip 一样，Bzip2 也是一个压缩工具，与其他传统的工具相比，它可以将文件压缩到更小，但其缺点为：运行速度比 gzip 慢。基本用法如下：a) 压缩文件一般情况下，针对压缩而言，Bzip2 不用什么选项，将被压缩的文件被传递为它的参数。每个文件被单独压缩，且压缩文件以 'bz2' 为后缀名。bzip2 file1 file2 file3 文件压缩使用 '-k' 选项可以使得在压缩或解压缩之后保留原有的文件。在压缩后保留原有文件b) 解压'-d' 选项被用来解压缩。使用 -d 选项解压缩文件也可以使用 bunzip2 来解压缩。bunzip2 filename 解压文件bunzip2 可以解压后缀名为 bz2, bz, tbz2 和 tbz 的文件。带有 tbz2 和 tbz 的文件在压缩后，后缀名将变为'.tar' 。bzip2 -dc - 执行解压文件到标准输出的功能。 7-zip7-zip 是另一个开源压缩软件。它使用 7z 这种新的压缩格式，并支持高压缩比。因此，它被认为是比先前提及的压缩工具更好的软件。在 Linux 下，可以通过 p7zip 软件包得到，该软件包里包含 3 个二进制文件： 7z, 7za 和 7zr，读者可以参考 p7zip wiki 来了解这三个二进制文件之间的不同。在本篇中，我们将使用 7zr 来解释 7-zip 的用法。归档文件以 '.7z' 为后缀名。基本用法如下：a) 创建归档7zr a archive-name.7z file-name(s) / directory-name(s) 创建一个归档文件b) 列出归档包含文件7zr l archive-name.7z 列出归档中包含的文件c) 提取归档文件7zr e archive-name.7z 提取归档d) 更新归档文件7zr u archive-name.7z new-file 更新一个归档文件e) 从归档文件中删除文件7zr d archive-name.7z file-to-be-deleted 删除文件确认文件删除via: http://linoxide.com/tools/linux-compress-decompress-tools/作者：B N Poornima 译者：FSSlc 校对：wxy本文由 LCTT 原创翻译，Linux中国 荣誉推出