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

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

什么是解压缩?

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

安装解压缩

unzip在大多数Linux发行版中均未默认安装,但是您可以使用发行版的程序包管理器轻松安装它。

在Ubuntu和Debian上安装unzip

sudo apt install unzip

在CentOS和Fedora上安装unzip

sudo yum install unzip

如何解压缩ZIP文件

最简单的形式是不带任何选项使用时,unzip命令会将所有文件从指定的ZIP存档提取到当前目录。

unzip filename.zip

要将ZIP归档文件提取到特定目录中,用户需要对该目录具有写权限。

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

例如,假设您下载了 Wordpress安装 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跳过对已存在文件的提取。

unzip -n filename.zip

如何解压缩多个ZIP文件

如果您的当前工作目录中有多个ZIP文件,则可以仅使用以下命令解压缩所有文件:

unzip '*.zip'

请注意*.zip周围的单引号。如果您忘记引用该参数,则外壳程序将扩展通配符,并且会出现错误。

如何列出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

结论

我们已经讨论了如何通过命令行在Linux中解压缩文件。

要在Linux系统上创建ZIP归档文件,您需要使用 zip命令

如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持