ZIP 是最广泛使用的归档文件格式,支持无损数据压缩。 ZIP 文件是包含一个或多个压缩文件或目录的数据容器。
在本教程中,我们将向您展示如何使用 unzip 命令通过命令行解压缩 Linux 系统中的文件。
什么是 unzip ?
Unzip 是一个实用程序,可帮助您列出,测试和提取压缩的 ZIP 存档。
安装解压缩
默认情况下,大多数 Linux 发行版中都没有安装 Unzip ,但您可以使用发行版的软件包管理器轻松安装它。
在 Ubuntu 和 Debian 上安装解压缩
sudo apt install unzip
在 CentOS 和 Fedora 上安装解压缩
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 命令。
本文永久更新链接地址:https://www.linuxidc.com/Linux/2019-08/160056.htm