安装unzip

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

在 Ubuntu 和 Debian 上安装unzip

  1. sudo apt install unzip

安装在 CentOS 和 Fedora 上unzip

  1. sudo yum install unzip

如何解压缩 ZIP 文件

在最简单的形式中,当没有任何选项使用时,命令会从指定的 ZIP 存档中提取所有文件到当前目录。unzip
例如,假设您下载了Wordpress 安装 ZIP文件。要解压缩此文件到当前目录,只需运行以下命令:

  1. unzip latest.zip

ZIP 文件不支持 Linux 样式的所有权信息。提取的文件由运行该命令的用户拥有。
您必须对提取 thr ZIP 存档的目录具有写入权限。

禁止命令的输出unzip

默认情况下,打印要提取的所有文件的名称,并在提取完成后打印摘要。unzip
使用开关禁止打印这些消息。-q

  1. unzip -q filename.zip

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

要将 ZIP 文件解压缩到与当前目录不同的目录,请使用以下开关:-d

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

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

  1. sudo unzip latest.zip -d /var/www

在上面的命令中,我们使用sudo,因为通常我们登录的用户没有对目录的写入权限。使用 解压缩 ZIP 文件时,提取的文件和目录归用户根所有。/var/www``sudo

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

要解压缩受密码保护的文件,请调用命令,然后选择密码:unzip``-P

  1. unzip -P PasswOrd filename.zip

在命令行上键入密码不安全,应避免这样做。更安全的选项是正常提取文件而不提供密码。如果 ZIP 文件已加密,将提示您输入密码:unzip

  1. unzip filename.zip
  1. archive: filename.zip
  2. [filename.zip] file.txt password:

unzip将使用相同的密码,所有已加密的文件,只要它是正确的。

解压缩 ZIP 文件时排除文件

若要从提取中排除特定文件或目录,请使用要从提取中排除的存档文件空间分隔列表后的选项:-x

  1. unzip filename.zip -x file1-to-exclude file2-to-exclude

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

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

覆盖现有文件

假设您已经解压缩了 ZIP 文件,并且再次运行同一命令:

  1. unzip latest.zip

默认情况下,会询问您是否喜欢仅覆盖当前文件、覆盖所有文件、跳过当前文件的提取、跳过所有文件的提取或重命名当前文件。unzip

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

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

  1. unzip -o filename.zip

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

解压缩 ZIP 文件而不覆盖现有文件

假设您已经解压缩了 ZIP 文件,并且对某些文件进行了更改,但意外删除了几个文件。您希望保留更改,并还原 ZIP 存档中已删除的文件。
在这种情况下,请使用强制跳过已存在的文件的提取的选项:-n``unzip

  1. unzip -n filename.zip

解压缩多个 ZIP 文件

您可以使用正则表达式来匹配多个存档。
例如,如果当前工作目录中有多个 ZIP文件,则只能使用一个命令解压缩所有文件:

  1. unzip '*.zip'

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

列出 Zip 文件的内容

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

  1. unzip -l filename.zip

在下面的示例中,我们列出了所有 WordPress 安装文件:

  1. unzip -l latest.zip

输出将看起来像:

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

结论

解压缩是一个实用程序,可帮助您列出、测试和提取压缩的 ZIP 存档。
若要在 Linux 系统上创建 ZIP 存档,需要使用 zip命令。
如果您有任何问题,请随时发表评论。