专栏首页叉叉敌Linux常用命令10 - unzip

Linux常用命令10 - unzip

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 命令。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 微信小程序-view元素Flex布局

    对于网页布局,推荐 Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。可以参考完全教材,我推荐一个阮老师的,下面...

    叉叉敌
  • Linux常用命令12 - vi

    vim 是许多在命令行上 Linux 下首选文本编辑器。 与其他编辑器不同,vim 有几种操作模式,这对于新用户来说有点吓人。

    叉叉敌
  • Linux常用命令02 - mv

    mv 命令(简称 move)用于将文件和目录从一个位置重命名并移动到另一个位置。 命令的语法如下:

    叉叉敌
  • BZOJ1228: [SDOI2009]E&D(打表SG)

    Description 小E 与小W 进行一项名为“E&D”游戏。游戏的规则如下:桌子上有2n 堆石子,编号为1..2n。其中,为了方便起见,我们将第2k-1...

    attack
  • 做网站-推荐3种CSS,JS合并的方式

    在Web项目的开发中,js,css文件会随着项目的开发变得越来越多,越来越大,这就给给性能方面带来一些问题,如,页面引入的的js,css越多的话,那么对就增加了...

    企鹅号小编
  • 文件拓展名那些事

    简单并不简单
  • 行业盘点 | 医疗行业10大关键词

    前言 近年来,新医改政策和各类高新技术凭借强大的赋能力,将中国的医疗信息化产业推入快速发展的黄金时期。前瞻研究院预测,2020年我国医疗信息化市场规模将超过千亿...

    灯塔大数据
  • VC工程中后缀为.cpp,.h,.rc,.dsp,.dsw

    (其它.clw .opt .aps等后缀文件,见下面说明) .opt 工程关于开发环境的参数文件。如工具条位置等信息;

    阳光岛主
  • 从 JavaScript 到 TypeScript - 模块化和构建

    TypeScript 带来的最大好处就是静态类型检查,所以在从 JavaScript 转向 TypeScript 之前,一定要认识到添加类型定义会带来额外的工作...

    前端博客 : alili.tech
  • 其他篇之操作系统——文件管理

    文件管理是操作系统的功能之一,由于系统的内存有限并且不能长期存储,故平时总是把数据以文件的形式存储在外存中,需要时再将其调入内存。文件管理的主要内容有:

    一半是我

扫码关注云+社区

领取腾讯云代金券