Linux常用命令10

自闭症网瘾萝莉.ら 提交于 2020-04-06 02:18:33

zip 是最广泛使用的归档文件, 除了linux,windows也是非常的广泛。,支持无损数据压缩。 zip 文件是包含一个或多个压缩文件或目录的数据容器。

接下来,我将解释如何使用 unzip 命令通过命令行解压缩 Linux 系统中的文件。 还有与之对应就是 zip。

安装unzip

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

  • 在 Ubuntu 和 Debian 上
sudo apt install unzip
  • Fedora 和 Fedora
sudo yum install unzip

如何解压 ZIP 文件

最简单的形式是,当不带任何选项使用时,unzip 命令将指定 ZIP 归档文件中的所有文件解压缩到工作目录文件夹中。

举个例子,假设你下载了 Wordpress 安装 ZIP 文件。 要将这个文件解压到工作目录文件夹,你只需运行以下命令:

unzip latest.zip

zip 文件不支持 linux 样式的所有权信息。提取的文件属于运行命令的用户。

您必须对解压压缩 ZIP 归档文件的目录具有写权限。

静默运行

默认情况下,解压缩将打印所提取的所有文件的名称,并在提取完成时打印一个摘要。

使用 -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 文件进行解压缩时,提取的文件和目录归用户根所有。

解压密码保护的 ZIP 文件

要解压缩受密码保护的文件,请调用 unzip 命令,并在 -P 选项后面加上密码:

unzip -P PasswOrd filename.zip

在命令行中键入密码是不安全的,应该避免。 一个更安全的选择是正常地提取文件而不提供密码。 如果 ZIP 文件是加密的,解压缩会提示你输入密码:

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

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

解压缩 ZIP 文件时排除文件

要排除特定的文件或目录进行解压缩,请使用-x 选项,然后使用空格分隔的存档文件列表排除解压缩:

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

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

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

覆盖现有文件

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

unzip latest.zip

默认情况下,解压缩将询问您是否只覆盖当前文件、覆盖所有文件、跳过当前文件的提取、跳过所有文件的提取,或者重命名当前文件。

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'

注意 * 旁边的单引号。 如果你忘记引用参数,shell 会展开通配符,你会得到一个错误。

列出 zip 文件的内容

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

unzip -l filename.zip

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

unzip -l latest.zip

输出结果如下:

Archive: latest.zip Length Date Time Name


    0  2019-08-02 22:39   test/
 3065  2019-08-31 18:31   test/xmlrpc.php
  364  2019-12-19 12:20   test/wp-blog-header.php
 7415  2019-03-18 17:13   test/readme.html

... ... 21323 2019-03-09 01:15 test/wp-admin/themes.php 8353 2019-09-10 18:20 test/wp-admin/options-reading.php 4620 2019-10-24 00:12 test/wp-trackback.php 1889 2019-05-03 00:11 test/wp-comments-post.php


27271400 1648 files

小结

Unzip 是一个实用工具,可以帮助您列出、测试和解压缩 ZIP 文档。

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


本篇文章由一文多发平台ArtiPub自动发布
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!