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

Linux 命令(103)—— unzip 命令

作者头像
恋喵大鲤鱼
发布2019-11-27 15:39:24
4.4K0
发布2019-11-27 15:39:24
举报
文章被收录于专栏:C/C++基础C/C++基础

1.命令简介

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

2.命令格式

代码语言:javascript
复制
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) 手册。

代码语言:javascript
复制
-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 文件添加注释说明。

代码语言:javascript
复制
zip test.zip /etc/passwd /etc/group
  adding: 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 的整体信息。

代码语言:javascript
复制
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)将压缩文件解压缩至当前目录。

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

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

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

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

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

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

代码语言:javascript
复制
mkdir dir
unzip test.zip -d dir

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

代码语言:javascript
复制
unzip -z test.zip
Archive:  test.zip
this is test.zip's comment

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

代码语言:javascript
复制
unzip -l test.zip
Archive:  test.zip
this is test.zip's comment
  Length      Date    Time    Name
---------  ---------- -----   ----
     1552  01-04-2019 14:56   etc/passwd
      642  01-04-2019 14:56   etc/group
---------                     -------
     2194                     2 files

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-11-25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.命令简介
  • 2.命令格式
  • 3.选项说明
  • 4.常用示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档