如何在 Linux 中使用 unzip 解压缩文件

ZIP 是最广泛使用的归档文件格式,支持无损数据压缩。 ZIP 文件是包含一个或多个压缩文件或目录的数据容器。

在本教程中,我们将向您展示如何使用 unzip 命令通过命令行解压缩 Linux 系统中的文件。

什么是 unzip ?

Unzip 是一个实用程序,可帮助您列出,测试和提取压缩的 ZIP 存档。

安装解压缩

默认情况下,大多数 Linux 发行版中都没有安装 Unzip ,但您可以使用发行版的软件包管理器轻松安装它。

Ubuntu 和 Debian 上安装解压缩

sudo apt install unzip

CentOSFedora 上安装解压缩

sudo yum install unzip

如何解压缩 ZIP 文件

在没有任何选项的情况下使用它是最简单的形式,该 unzip 命令将从指定的 ZIP 存档中提取所有文件到当前目录。

unzip filename.zip

为了能够在特定目录中提取 ZIP 存档,用户需要对该目录具有写入权限。

ZIP 文件不支持 Linux 样式的所有权信息,并且所有提取的文件将由运行该命令的用户拥有。

例如,假设您下载了 Wordpress 安装 ZIP文件(https://wordpress.org/latest.zip)。要将此文件解压缩到当前目录,只需运行以下命令:

unzip latest.zip

如何抑制 unzip 命令的输出

默认情况下, unzip 命令打印它提取的所有文件的名称以及提取完成时的摘要。

使用 -q 选项可禁止打印这些消息。

unzip -q filename.zip

如何将 ZIP 文件解压缩到其他目录

要将 ZIP 文件解压缩到与当前目录不同的目录中,请使用该 -d 选项。

unzip filename.zip -d /path/to/directory

例如,要将 Wordpress 存档解压缩 latest.zip 到 /var/www/ 目录,您将使用以下命令:

sudo unzip latest.zip -d /var/www

在上面的命令中我们使用了 sudo ,因为在大多数情况下,我们登录的用户没有对 /var/www 目录的写权限。当使用 sudo 解压缩 ZIP 文件时,提取的文件和目录将由用户 root 拥有。

如何解压缩受密码保护的 ZIP 文件

要解压缩受密码保护的文件,请使用 -P 选项后跟密码。

unzip -P PasswOrd filename.zip

解压缩 ZIP 文件时如何排除文件

如果要从 ZIP 存档中提取除一个文件以外的所有文件,请使用该 -x 选项。

unzip filename.zip -x file-to-exclude

在以下示例中,我们将从 ZIP 存档中提取除 .git 目录之外的所有文件和目录:

unzip filename.zip -x "*.git/*"

使用解压缩时如何覆盖现有文件

假设您已经解压缩了 ZIP 文件,当您再次运行相同的命令。

unzip latest.zip

默认情况下, Unzip 会询问您是要覆盖当前文件,覆盖所有文件,跳过当前文件的提取,跳过提取所有文件,还是重命名当前文件。

Archive: latest.zip replace wordpress/xmlrpc.php? [y]es, [n]o, [A]ll, [N]one, [r]ename:

如果要在不提示的情况下覆盖现有文件,请使用 -o 选项:

unzip -o filename.zip

请谨慎使用此选项。文件将被覆盖,如果您对文件进行了任何更改,则更改将丢失。

如何在不覆盖现有文件的情况下解压缩 ZIP 文件

假设您已经解压缩了一个 ZIP 文件,并且您对某些文件进行了更改,但是您不小心删除了一些文件。您希望保留更改并从 ZIP 存档中还原已删除的文件。

在这种情况下,您要使用 -n 选项来跳过已存在的文件的提取。

unzip -n filename.zip

如何解压缩多个 ZIP 文件

如果当前工作目录中有多个 ZIP 文件,则只需使用一个命令即可解压缩所有文件:

unzip '*.zip'

注意 *.zip 周围的单引号。如果您忘记引用参数, shell 将展开通配符,您将收到错误。

如何列出 Zip 文件的内容

要列出 ZIP 文件的内容,请使用 -l 选项。

unzip -l filename.zip

在我们的示例中,我们通过执行以下命令列出所有 WordPress 安装文件:

unzip -l latest.zip

输出将如下所示:

Archive: latest.zip Length Date Time Name --------- ---------- ----- ---- 0 2018-08-02 22:39 wordpress/ 3065 2016-08-31 18:31 wordpress/xmlrpc.php 364 2015-12-19 12:20 wordpress/wp-blog-header.php 7415 2018-03-18 17:13 wordpress/readme.html ... ... 21323 2018-03-09 01:15 wordpress/wp-admin/themes.php 8353 2017-09-10 18:20 wordpress/wp-admin/options-reading.php 4620 2017-10-24 00:12 wordpress/wp-trackback.php 1889 2018-05-03 00:11 wordpress/wp-comments-post.php --------- ------- 27271400 1648 files

结论

您已经学习了如何解压缩 ZIP 文件和最常见的解压缩选项。要在 Linux 系统上创建 ZIP 存档,您需要使用 zip 命令。

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/11805.html