如何在 Linux 中解压文件?

2025年3月17日 | 阅读 8 分钟

通常,几乎所有文件,如文档、媒体文件,都以 zip 格式共享,以避免各种类型的损坏或盗窃。还可以设置密码来保护文件免受不必要的访问,这也有助于保护文档的机密性。但是,新用户或不熟悉计算机或没有 IT 背景的用户在处理这些类型的文件时会遇到许多困难,例如打开 zip 文件、压缩文件等。

在本教程中,我们将学习如何在基于 Linux 的操作系统(Ubuntu)中打开 zip 文件。在继续之前,我们需要首先了解如何识别 zip 文件。如果下载的文件(或目标文件)的扩展名包含 .tar.gz.zip,则表示该文件是 zip 文件。要访问 zip 文件的内容,我们需要解压缩该文件,之后我们可以轻松访问该文件的内容。

ZIP 扩展名是使用最广泛的文件格式之一,用于无损数据压缩。用户可以将多个压缩文件和目录压缩到 ZIP 文件中。因此,用户需要使用一些命令行实用程序或工具来解压缩 ZIP 文件。用户可以使用 Linux 系统中的 unzip 命令轻松处理各种 ZIP 文件。

前提条件

  • 访问终端窗口或命令行 (Ctrl-Alt-T)
  • 管理员密码
  • Zip/unzip 实用程序

unzip 的用法

  • 解压当前工作目录中的所有压缩文件
  • 解压任何存档而不创建目录
  • 在解压过程中强制覆盖现有文件
  • 将存档解压到其他目录
  • 不解压查看 zip 文件内容
  • 解压时排除某些文件
  • 列出存档的完整信息
  • 压缩期间转换文本文件
  • 仅显示表示存档是否正常以检查我们的 myfile.zip 的摘要消息
  • 仅显示摘要以检查当前工作目录中的每个 zip 文件
  • 提取所有“.txt”文本源文件
  • 仅提取当前工作目录中已存在的文件的较新版本
  • 仅提取当前工作目录中已存在的文件的较新版本,并创建尚不存在的文件
  • 提取任何受密码保护的 zip 文件

unzip 的选项

注意:用法屏幕限制为 22 或 23 行,因此应仅作为常见 unzip 语法的提醒,而不是支持旧硬件的所有可能标志的详尽列表。

详尽列表如下

选项描述
-Z如果 -Z 是终端上的初始选项,则其余选项被视为 zipinfo 选项。
-A它打印 DLL 编程接口的扩展帮助。
-c它用于将文件提取到屏幕/stdout。
-f刷新文件,即仅提取磁盘上已存在且比磁盘副本新的文件。
-I它是列出存档文件的缩写。显示指定文件的修改时间、日期、压缩文件大小和名称,并显示每个指定文件的总计。
-p它用于将文件提取到 stdout(管道)。
-t它是文本存档文件的缩写。它将所有指定文件提取到内存中,并比较扩展文件的循环冗余校验 (CRC) 与原始文件的存储 CRC 值。
-T在存档上,它设置最新文件的时间戳。
-u它更新现有文件并在需要时创建新文件。
-v它列出存档文件或显示诊断版本信息。
-z它仅显示存档注释。

unzip 的修饰符

修饰符描述
-a它转换文本文件。每个文件都按照它们存储的方式精确提取(作为二进制文件)。
-b它用于将二进制文件自动转换为 512 字节记录或固定长度格式。
-B它保存所有被覆盖文件的备份副本。
-C它使用区分大小写的匹配方法从终端选择模式列表中选择存档条目。
-D它跳过提取项的时间戳恢复。
-E它在恢复操作时显示 MacOS 额外字段内容。
-F它禁止从保存的文件名中删除 NFS 文件类型扩展名。
-i它忽略 MacOS 额外字段中保存的文件名。
-j它表示垃圾路径。
-J它表示垃圾文件属性。
-K它保留 Tacky/SGID/SUID 文件属性。
-L它将仅大写文件系统或操作系统上生成的文件名转换为小写。
-M它将所有结果从内部寻呼机中管道输出,这与 Unix 命令相同。
-n它从不覆盖任何现有文件。
-N它提取从文件注释中提取的 Amiga 文件注释。
-o它在不询问的情况下覆盖现有文件。
-P它使用密码解密 zip 文件条目。
-q它安静地执行操作。
-s它将文件名中的空格转换为下划线。
-S它将文本文件转换为 Stream_LF 格式,而不是可变长度或文本文件默认记录格式。
-U它禁用或修改 UTF-8 处理。
-V它保留文件版本。
-W它更改模式匹配例程,因此 '*' 和 '?' 都不匹配 '/'(目录分隔符字符)。

如何在 Ubuntu 中安装 Unzip 实用程序?

要解压 zip 存档文件,您的系统必须安装 unzip 软件包。然而,几乎所有现代 Linux 发行版都支持 unzip,但为了避免以后出现意外,如果您不确定,验证一下也无妨。在 Ubuntu 和基于 Debian 的发行版中,可以使用以下给定步骤安装 unzip。如果它已安装在您的操作系统上,它会通知您。

步骤 1:打开终端并输入以下给定命令,然后按 Enter,如给定输出所示

命令

输出

How to unzip files in Linux

在您的操作系统中安装 unzip 软件包后,您现在可以根据需要压缩和解压文件。

有两种方法可以解压 Linux 操作系统中的压缩文件;在这里,我们将讨论这两种方法(或过程),并附有实践。

让我们详细了解上述方法。

使用 Linux 终端解压文件

以下步骤将帮助我们处理 Linux 中的压缩文件,并展示如何在不降低质量的情况下压缩文件。

在 Linux 中解压文件的步骤

步骤 1 - 在 Linux 中解压文件的过程非常简单。首先,打开终端并转到我们存放 zip 文件的目录,如给定图像所示

How to unzip files in Linux

步骤 2 - 现在使用“ls”命令查看该目录中存储的所有文件,并使用以下命令解压 zip 文件。

让我们通过以下示例了解此命令的工作原理

假设我们有一个名为 "samplefile.zip" 的压缩文件存储在我们的下载目录中。要解压 "simplefile.zip",我们需要打开终端并使用以下命令转到下载目录

示例

How to unzip files in Linux

步骤 2 - 现在键入命令 <unzip "samplefile.zip"> 并按 Enter,文件解压后,您可以访问解压文件的内容,如给定图像所示

How to unzip files in Linux

如何在 Linux 中压缩文件?

将标准文件转换为压缩格式的过程与我们之前所做的略有不同。要转换文件(例如,samplefile.mpg),我们必须转到文件存储在操作系统中的目录。到达目录后,您可以使用以下命令将该文件转换为压缩格式。

命令

要了解此命令的工作原理,请考虑以下给定示例

How to unzip files in Linux
How to unzip files in Linux

我们还可以提供要解压的 zip 文件路径,而不是转到目录。为此,请考虑以下给定步骤

步骤 1. 打开终端并输入以下给定命令

命令

它将显示以下输出。

总的来说,这个命令看起来非常方便使用。然而,在某些情况下,如果用户不小心使用上述命令,可能会面临一个稍微更大的问题。这个命令的主要问题是它通常会将该特定 zip 文件的所有内容提取到当前目录或文件夹中,这至少在某些情况下是不好的。

将文件解压到目录

通过将目标文件解压到单独的目录而不是提取到当前目录中,可以轻松避免上述问题。这样,我们所有提取的文件都将存储在指定的目录中。在某些情况下,如果用户指定的目录不存在,它还会通过创建带有指定标签的目录来处理。

让我们看看如何将文件解压到特定目录

要将压缩文件解压到特定文件夹或目录,可以使用以下说明

步骤 1:打开终端并转到存储压缩文件的目录。到达该目录后,在终端中键入以下给定命令

命令

为了理解这个命令的工作原理,请考虑以下给定示例

假设您有一个压缩文件(例如,samplefile.zip),您想将其提取到特定的不同目录(例如,Akash)中。为此,您需要指定要提取压缩文件的目录或目录地址。因此,我们的命令将如下所示

命令

<unzip samplefile.zip -d \Akash>

输出

How to unzip files in Linux

现在 samplefile.zip 的所有内容都将提取到用户指定的目录中。

2. 通过图形用户界面解压文件

这种方法对所有用户来说都非常简单,即使是初学者。它就像 Windows 提取 zip 文件的过程一样。要通过图形用户界面解压 zip 文件,请按照以下说明进行操作。

步骤 1. 在您的 Linux 操作系统中打开文件管理器

How to unzip files in Linux

步骤 2. 现在转到您存储 zip 文件的文件夹(例如,textfile.zip)并选择它,如下所示

How to unzip files in Linux

步骤 3. 选择压缩文件后,单击鼠标右键以查看更多选项

How to unzip files in Linux

步骤 2. 现在根据需要单击“在此处提取”或“提取到”选项。如果我们要将该文件提取到当前文件夹中,则单击“提取”选项。

How to unzip files in Linux

步骤 4. 如果您想将该文件提取到不同的文件夹中,则可以使用“提取到”选项,如下所示

How to unzip files in Linux

步骤 5. 单击“提取到”选项后,将打开一个新窗口,您必须在其中指定要存储文件内容的任何目录。选择目录或文件夹后,单击“选择”选项,如下所示

How to unzip files in Linux

步骤 5. 现在我们转到所选文件夹或目录以验证文件是否已解压。

How to unzip files in Linux
下一个主题chroot 命令