前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux常用命令10 - unzip

Linux常用命令10 - unzip

作者头像
叉叉敌
发布2020-04-21 10:37:59
4.5K0
发布2020-04-21 10:37:59
举报
文章被收录于专栏:Chasays

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

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

0FPVdt
0FPVdt

安装unzip

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

  • 在 Ubuntu 和 Debian 上
代码语言:javascript
复制
sudo apt install unzip
  • Fedora 和 Fedora
代码语言:javascript
复制
sudo yum install unzip

如何解压 ZIP 文件

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

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

代码语言:javascript
复制
unzip latest.zip

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

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

静默运行

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

使用 -q 开关禁止打印这些消息。

代码语言:javascript
复制
unzip -q filename.zip

ZIP 文件解压缩到另一个目录

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

代码语言:javascript
复制
unzip filename.zip -d /path/to/directory

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

代码语言:javascript
复制
sudo unzip latest.zip -d /var/www

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

解压密码保护的 ZIP 文件

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

代码语言:javascript
复制
unzip -P PasswOrd filename.zip

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

代码语言:javascript
复制
unzip filename.zip
archive:  filename.zip
[filename.zip] file.txt password: 

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

解压缩 ZIP 文件时排除文件

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

代码语言:javascript
复制
unzip filename.zip -x file1-to-exclude file2-to-exclude

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

代码语言:javascript
复制
unzip filename.zip -x "*.git/*"

覆盖现有文件

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

代码语言:javascript
复制
unzip latest.zip

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

代码语言:javascript
复制
Archive:  latest.zip
replace wordpress/xmlrpc.php? [y]es, [n]o, [A]ll, [N]one, [r]ename:

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

代码语言:javascript
复制
unzip -o filename.zip

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

解压 ZIP 文件而不改写现有文件

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

在这种情况下,使用-n 选项强制 unzip 跳过提取已经存在的文件:

代码语言:javascript
复制
unzip -n filename.zip

解压多个 ZIP 文件

您可以使用正则表达式来匹配多个归档文件。

例如,如果你当前的工作目录文件夹中有多个 ZIP 文件,你可以只用一个命令解压所有文件:

代码语言:javascript
复制
unzip '*.zip'

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

列出 zip 文件的内容

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

代码语言:javascript
复制
unzip -l filename.zip

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

代码语言:javascript
复制
unzip -l latest.zip

输出结果如下:

Archive: latest.zip Length Date Time Name


代码语言:javascript
复制
    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 命令。

ZCoBLj
ZCoBLj
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/04/16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装unzip
  • 如何解压 ZIP 文件
  • 静默运行
  • 将 ZIP 文件解压缩到另一个目录
  • 解压密码保护的 ZIP 文件
  • 解压缩 ZIP 文件时排除文件
  • 覆盖现有文件
  • 解压 ZIP 文件而不改写现有文件
  • 解压多个 ZIP 文件
  • 列出 zip 文件的内容
  • 小结
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档