1.命令简介

unzip 命令用于列出、测试和提取 ZIP 存档中的压缩文件。如果 unzip 不跟任何选项(默认行为),会将指定的 ZIP 存档文件解压到当前目录。

2.命令格式

unzip [-Z] [OPTIONS] [ZIP_FILE...] [FILE...]  [-x FILE...] [-d EXDIR]

[ZIP_FILE…] 表示 ZIP 存档文件,[FILE…] 表示待处理的 ZIP 存档文件中的文件列表,[-x FILE…] 表示不处理的文件列表,[-d EXDIR] 表示解压缩后的文件存放的目录。文件名均可使用通配符表示。

注意,unzip 可以不跟任何选项和参数,单独执行 unzip 将打印简要帮助信息。

3.选项说明

长选项的强制参数对于短选项也是强制的。下面主要介绍了通用选项和 Linux 平台的选项,其它平台(VMS、MS-DOS、MacOS 等)的专用选项参见 unzip(1) 手册。

-Z等于执行 zipinfo(1) 命令,用于查看 zip 文件的整体信息
-c将解压缩后的文件内容输出到标准输出(屏幕),并对字符做适当的转换。类似于 -p 选项,但是 -c 会输出文件名
-f更新现有的文件,即只提取那些已经存在于磁盘上且比磁盘副本更新的文件
-l只显示压缩文件内所包含的文件不解压
-p与 -c 选项类似,以二进制模式解压文件,不会执行任何的转换,并将文件内容输出到标准输出(屏幕)
-t对文件进行 CRC 校验检查压缩文件是否正确
-u与 -f 参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压出来
-v执行时显示详细的信息
-z仅显示压缩文件的备注信息
-a对文本文件进行必要的字符转换
-b将所有文件视为二进制文件,不对文本文件进行字符转换
-B对本地即将被覆盖的文件进行备份
-C匹配命令行指定的待提取的文件列表时不区分大小写
-D不还原提取项的时间戳。正常情况,unzip 会恢复提取项的时间信息(Access Time、Modify Time 和 Change Time)
-j不生成提取项的目录,即所有提取项均放到同级目录下
-L将压缩文件中的全部文件名改为小写
-M将所有输出通过 unzip 内部的类似于 more(1) 的浏览工具进行浏览
-n永远不要覆盖现有文件。如果文件已经存在,则跳过该文件的提取而不提示。默认情况下,unzip 会进行询问是否提取、覆盖或重命名
-o覆盖现有文件而不提示
-P PASSWORD使用密码解密 zip 文件
-q执行时不显示任何信息
-s将文件名中的空白字符转换为下划线
-U  修改或禁用UTF-8处理。当 UNICODE_SUPPORT 可用时,选项 -U 强制 unzip 将 UTF-8 编码的文件名中的所有非 ASCII 字符转义为 #uxxx(对于UCS-2字符,或者对于需要 3 个字节的 UNICODE 码点转为 #Lxxxxxx)。此选项主要用于在怀疑提取 UTF-8 编码文件名时会失败而进行的调试行为
-W修改通配符 ?(单字符统配符)与 *(多字符通配符) 的匹配行为,使得 ? 与 * 不能匹配目录的分隔符 /。如 "*.c" 匹配 "foo.c",但不能匹配 "mydir/foo.c"
-X解压缩时同时恢复文件原来的 UID/GID
-:允许创建提取项的父目录 ../,默认情况下为了安全起见是不允许的。使用该选项应格外小心
-^允许在提取的 ZIP 存档项的名称中使用控制字符

4.常用示例

首先使用 zip 命令对文件 /etc/passwd 和 /etc/group 进行压缩生成 test.zip 文件,同时使用 -z 选项为 zip 文件添加注释说明。

zip test.zip /etc/passwd /etc/groupadding: etc/passwd (deflated 58%)adding: etc/group (deflated 45%)
enter new zip file comment (end with .):
this is test.zip's comment
.

(1)使用 -Z 选项查看 ZIP 归档文件 test.zip 的整体信息。

unzip -Z test.zip
Archive:  test.zip
Zip file size: 1321 bytes, number of entries: 2
-rw-r--r--  3.0 unx     1552 tx defN 19-Jan-04 14:56 etc/passwd
-rw-r--r--  3.0 unx      642 tx defN 19-Jan-04 14:56 etc/group
2 files, 2194 bytes uncompressed, 1005 bytes compressed:  54.2%

(2)将压缩文件解压缩至当前目录。

unzip test.zip

(3)如果当前目录存在同名的文件,解压缩时不覆盖原有文件。

unzip -n test.zip

(4)解压缩时覆盖原有文件,不进行询问。

unzip -o test.zip

(5)将压缩文件解压缩至指定目录。

mkdir dir
unzip test.zip -d dir

(6)仅显示 zip 文件的注释说明,不解压。

unzip -z test.zip
Archive:  test.zip
this is test.zip's comment

(7)仅查看 zip 文件中的文件列表,不解压。

unzip -l test.zip
Archive:  test.zip
this is test.zip's commentLength      Date    Time    Name
---------  ---------- -----   ----1552  01-04-2019 14:56   etc/passwd642  01-04-2019 14:56   etc/group
---------                     -------2194                     2 files

参考文献

[1] unzip manual
[2]【Linux】一步一步学Linux——unzip命令(68)

Linux 命令(103)—— unzip 命令相关推荐

  1. linux上 用unzip命令解压带密码保护的 zip 文件报错 unsupported compression method 99

    1.问题: Linux上用 unzip 命令解压带密码保护的 zip 文件报错 unsupported compression method 99 2.解决办法: mac自带的解压工具,无法解密加密的 ...

  2. linux替换war包中的文件,Linux zip与unzip命令:替换war包中的某个文件

    原本,想用jar命令来快速替换war包的文件的,可是,发现Ubuntu中没有装Java,懒癌发做,遂使用zip与unzip命令代替.app zip:压缩命令ide 格式: zip    [-选项]  ...

  3. linux unzip 多个文件夹,Linux下使用unzip命令解压多个文件

    Linux下直接使用unzip *.zip解压多个文件会报错 可以使用unzip '*.zip'或者 unzip "*.zip"或者unzip \*.zip命令 或者使用for z ...

  4. 【Linux】一步一步学Linux——unzip命令(68)

    00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 unzip命令用于解压缩由zip命令压缩的".z ...

  5. Linux压缩和解压命令:tar,gzip,zip(unzip),rar

    很多大型文件或者数据从服务器上传或者下载的时候都需要打包和压缩解压,这时候知道压缩和解压的各种命令是很有必要的. 常见的压缩文件后缀名有.tar.gz,.gz,.zip和.rar,下面来看看在Linu ...

  6. Linux 命令之 unzip -- 解压缩文件

    文章目录 一.命令介绍 二.命令选项 三.命令示例 (一)解压缩文件 (二)将指定压缩文件解压到指定目录下 (三)查看压缩包内的文件列表及有关的压缩信息 (四)验证压缩文件是否完整 一.命令介绍 un ...

  7. Linux CentOS 平台安装 zip unzip 命令

    我是陈皮,一个在互联网 Coding 的 ITer,个人微信公众号「陈皮的JavaLib」关注第一时间阅读最新文章. 查看是否已经安装 zip 或者 unzip . yum list | grep z ...

  8. Linux常用备份压缩命令

    目录 一.备份压缩的基础知识 1.备份压缩的过程: 2.压缩率 3.通用性 二.常用备份压缩命令 1.tar命令 2.gzip命令 3.tar命令+gzip命令 4.tar命令+bzip2命令 5.z ...

  9. linux静默删除文件夹,Linux常用命令10 - unzip

    zip 是最广泛使用的归档文件, 除了linux,windows也是非常的广泛.,支持无损数据压缩. zip 文件是包含一个或多个压缩文件或目录的数据容器. 接下来,我将解释如何使用 unzip 命令 ...

最新文章

  1. 2021年大数据Spark(五十三):Structured Streaming Deduplication
  2. 一起谈.NET技术,C#中int和System.Int32理解总结
  3. 简单介绍python process模块
  4. 音频处理五:(音频的FFT计算)
  5. Linux unit14
  6. kafka消息确认机制
  7. mysql执行计划缓存在哪_怎么去看懂mysql的执行计划
  8. CentOS中一些基本的操作记录
  9. Codeforces 1077F2 Pictures with Kittens (hard version)(DP+单调队列优化)
  10. mybatis源码学习方式
  11. 命令行 蓝牙_蓝牙键盘接入UOS系统的方法
  12. 手机电脑投屏软件_手机投屏电脑,电脑控制手机,推荐这款良心免费的软件
  13. 解决【C++】其他类中友元函数不可访问私有数据--顺序问题
  14. 如何将视频网站的视频下载为mp4格式
  15. Win11怎么把手机投屏到电脑上?
  16. WixSharp打包软件安装包入门教程
  17. 2021-02-03-隐藏Tomcat版本号
  18. 20180301.实现功能:取消关注,移除粉丝
  19. C语言 学生成绩统计
  20. 鸿蒙iot系统,面子叫做「鸿蒙」,里子是华为的 IoT 大局

热门文章

  1. 微软反向 RDP 漏洞补丁不当,第三方 RDP 客户端易受攻击
  2. ffmpeg和SDL教程 04:创建线程
  3. ArcGIS Engine开发之地图基本操作(3)
  4. [kuangbin带你飞]专题九 连通图
  5. 演示:各种网络安全设备、***设备向微软证书服务器申请证书
  6. 那英、那狗、那年、那事
  7. 使用 Vue.js 和 Flask 实现全栈单页面应用
  8. sqlite字符串连接(追加写入)
  9. java 比较器类_高级编程之(Java常用类(Java比较器))
  10. [Java] 蓝桥杯ADV-202 算法提高 最长公共子序列