unzip [-Z] [-cflptTuvz[abjnoqsCDKLMUVWX$/:^]] file[.zip] [file(s)…] [-x xfile(s)…] [-d exdir]

unzip将列出、测试或从ZIP存档中提取文件,这些文件通常位于MS-DOS系统上。默认行为(就是没有选项)是从指定的ZIP存档中提取所有的文件到当前目录(及其下面的子目录)。一个配套程序zip(1L)创建ZIP存档;这两个程序都与PKWARE的PKZIP和PKUNZIP为MS-DOS创建的存档文件兼容,但许多情况下,程序选项或默认行为是不同的。

(1).参数

file[.zip] ZIP存档的路径。如果文件规范是通配符,则按操作系统(或文件系统)确定的顺序处理每个匹配的文件。只有文件名可以是通配符,路径本身不可以。通配符表达式类似于常用的Unix Shell(sh,ksh,csh)中支持的表达式,可能包含:

* 匹配0个或更多字符的序列

? 匹配1个字符

[…] 匹配括号内的任何单个字符;范围由起始字符,连字符和结束字符指定。如果感叹号或插入符号(”!”或”^”)在左括号后面,则括号内的字符范围将被补充(即除括号内的字符之外的任何内容都被视为匹配)。要指定一个左括号,必须使用”[[]”

(请务必引用可能由操作系统解释或修改的任何字符,特别是在UNIX和VMS下。)如果未找到匹配项,则假定规范是文本文件名;如果失败,则附加后缀.zip。注意,与其他任何ZIP存档一样,支持自解压ZIP文件;只要明确指定.exe后缀(如果有)。

[file(s)] 要处理的可选存档成员列表,以空格分隔。(使用VMSCLI定义编译的VMS版本必须使用逗号分隔文件。请参阅(2).选项中的-v选项)正则表达式(通配符)可用于匹配多个成员。同样,请务必引用可由操作系统扩展或修改的表达式

[-x xfile(s)] 要从处理中排除的可选存档成员列表。由于通配符通常匹配(’/’)目录分隔符(如有例外,请参阅-W选项),此选项可用于排除子目录中的所有文件。例如,”unzip foo *.[ch] -x */*”将提取主目录中所有C源文件,但不提取任何子目录中的所有C源文件。如果没有-x选项,将提取zip文件中的所有目录中的所有C源文件。

[-d exdir] 可提取文件的可选目录。默认情况下,在当前目录中重新创建所有文件和子目录;-d选项运行在任意目录中提取(总是假设有一个人有权写入目录)。这个选项不需要出现在命令行的末尾;它也接受在zipfile格式之前(使用常规选项),zipfile格式之后或文件与-x选项之间。选项和目录可以连接在一起,它们之间没有任何空格,但请注意,这可能会导致正常的shell行为被抑制。特别是Unix C shell将”-d ~”(代字号)扩展为用户主目录的名称,但”-d ~”被视为当前目录的文本子目录”~”。

(2).选项

注意:为了支持过时的硬件,解压缩的使用屏幕限制为22或23行,因此应该仅考虑基本解压缩语法的提醒,而不是所有可能标志的详尽列表。

-Z zipinfo(1L)模式。如果命令行上的第一个选项是-Z,则其余选项将被视为zipinfo(1L)选项。

-A  [OS/2,Unix DLL]打印DLL编程接口(API)的扩展帮助。

-c 将文件解压缩到标准输出/屏幕(”CRT”)此选项与-p选项类似,不同在于提取时打印每个文件的名称,允许使用-a选项,并且如果合适,将自动执行ASCII-EBCDIC转换。此选项未在解压缩用法屏幕中列出。

-f 刷新现有文件,即仅提取磁盘上已存在且比磁盘副本新的文件。在覆盖之前默认解压缩查询,但可以使用-o选项来禁止查询。请注意,在许多操作系统下,必须正确配置TZ(时区)环境变量才能使-f和-u正常工作(在Unix下,变量通常会自动设置)。造成这种情况的原因有点微妙,但与DOS格式的文件时间(总是本地时间)和Unix格式的时间(总是以GMT/UTC)之间的差异以及比较两者的必要性有关。典型的TZ值是”PST8PDT”(美国太平洋时间,对夏令时或夏令时自动调整)

-l 列出存档文件(短格式)。打印指定文件的名称、未压缩文件大小、修改时间和次数,以及指定的所有文件总数。如果在定义了OS2_EAS情况下编译了UnZip,则-l选项还会列出存储的OS/2扩展属性(EAs)和OS/2访问控制列表(ACL)的大小的列。此外,还会显示zipfile注释和单个文件注释(如果有)。如果文件是从单个案例文件系统(例如,旧的MS-DOS FAT文件系统)存档并且给出了-L选项,则文件名称将转换为小写并与插入符号(^)为前缀

-p 将文件提取到管道(标准输出)。除了将文件发送到标准输出外,文件总是以二进制格式提取,就像它们被存储一样(没有转换)。

-t 测试存档文件。此选项提取内存中的内个指定文件,并将扩展文件的CRC(循环冗余校验,一个增强的校验和)与原始文件的存储CRC值进行比较。

-T  [大多数操作系统]将存档上的时间戳设置为每个存档中最新文件的时间戳。这与zip的-go选项相对应,只是可以在zip文件上使用通配符(例如,’unzip -T \*.zip’),而且速度更快

-u 更新现有文件并根据需要创建新文件。此选项执行与-f选项相同的功能,通过查询提取在磁盘上具有相同名称但更新的文件,此外它还提取磁盘上没有的那些文件。有关正确设置时区信息,参考-f选项

-v 列出存档文件(详细格式)或显示版本信息。此选项现在既可以作为选项也可以作为修饰符。作为选项时,当指定zip文件而没有其他选项时,-v详细列出存档文件,包括基础的-l选项列出的信息,还包括压缩方法、压缩大小、压缩比和32位CRC。与大多数有竞争关系的工具不同,解压缩从压缩的大小编号中删除了另外12个加密条目的头字节。因此压缩大小和压缩数字比与条目的加密状态无关,并且显示正确的压缩性能。(zip文件条目的加密压缩数据流的完整大小有更详细的zipinfo报告。)当没有指定zip文件时(即”unzip -v”),打印版本信息。

-z 仅显示存档注释

(3).修饰符

-n 从不覆盖现有文件

-q 安静模式(-qq=>安静)

-o 在不提示的情况下覆盖文件

-a 自动转换任何文本文件

-j 垃圾路径(不生成目录)

-aa 将所有文件视为文本

-U 对所有非ASCII Unicode使用转义符

-UU 忽略任何Unicode字段

-C 不敏感匹配文件名大小写

-L 将某些名称改为小写

-X 还原UID/GID信息

-V 保留VMS版本号

-K 保留setuid/setgid/tacky权限

-M 应该是类似使用more分页(?)

-O CHARSET 指定DOS、Windows和OS/2存档的字符编码

-I CHARSET 为unix和其他存档指定字符编码

(4).实例

解压到当前目录下

[root@xuexi ~]# unzip grub.zip
Archive: grub.zip
creating: boot/grub/
inflating: boot/grub/splash.xpm.gz

解压到指定目录下

[root@xuexi ~]# unzip grub.zip -d /opt/
Archive: grub.zip
creating: /opt/boot/grub/
inflating: /opt/boot/grub/splash.xpm.gz

(5).扩展

zip命令简单了解一下,Linux很少用到

zip命令压缩文件

[root@xuexi ~]# zip passwd.zip /etc/passwd
adding: etc/passwd (deflated 61%)

zip命令压缩文件夹

[root@xuexi ~]# zip -r grub.zip /boot/grub
adding: boot/grub/ (stored 0%)
adding: boot/grub/splash.xpm.gz (deflated 87%)

  

Linux命令之unzip的更多相关文章

  1. Linux命令:unzip

    语法: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir] 默认行为将zip文件中的内容全部解压缩到当前目录下. ...

  2. Linux常用命令学习3---(文件的压缩和解压缩命令zip unzip tar、关机和重启命令shutdown reboot……)

    1.压缩和解压缩命令    常用压缩格式:.zip..gz..bz2..tar.gz..tar.bz2..rar .zip格式压缩和解压缩命令        zip 压缩文件名 源文件:压缩文件   ...

  3. Linux命令随笔

    Linux命令总结 man ==命令帮助; help ==命令的帮助(bash的内置命令); ls ==list,查看目录列表; -ld:查看目录权限; -l:(long)长格式显示属性; -F:给不 ...

  4. 别出心裁的Linux命令学习法

    别出心裁的Linux命令学习法 操作系统操作系统为你完成所有"硬件相关.应用无关"的工作,以给你方便.效率.安全.操作系统的功能我总结为两点:管家婆和服务生: 管家婆:通过进程.虚 ...

  5. linux 命令笔记

    linux 命令 创建目录 mkdir XX 列出目录 ls 进入目录 cd .. 进入上层目录 cd xx 进入xx目录 cd ~ 进入用户主目录 删除目录 rm -fr XX 清空目录,谨慎使用 ...

  6. 29 个你必须知道的 Linux 命令

    虽然Linux发行版支持各种各样的饿GUI(graphical user interfaces),但在某些情况下,Linux的命令行接口(bash)仍然是简单快速的.Bash和 Linux Shell ...

  7. Linux命令整理中...

    Linux命令整理中... 最常用命令(我最近最常用的一般放在前面tipsbychsry) clear 清屏 date 显示日期 cal 显示日历 cal 2014 显示2014年的日历 shutdo ...

  8. LINUX命令总结 -------来自 水滴娃娃 的CSDN

    LINUX命令总结 标签: LINUX命令总结 2014-01-27 15:54 41039人阅读 评论(1) 收藏 举报  分类: linux(1)  版权声明:本文为博主原创文章,未经博主允许不得 ...

  9. 运维工程师必会的109个Linux命令

    运维工程师必会的109个Linux命令 版本1.0 崔存新 更新于2009-12-26 目录 1 文件管理 6 1.1 basename 6 1.2 cat 6 1.3 cd 7 1.4 chgrp ...

随机推荐

  1. SourceTree for mac 注册过程(v2.7.6a)

    背景 为啥要自己注册呢,往上一堆一堆的老版本许可证偏不用,就愿意定制自己的账号style. 搞了半天,还是觉得pycharm自带的git工具就挺好用了,闲的没事记录一下. 要点 百度搜索的地址可以进入 ...

  2. 自己实现KNN算法

    import numpy as np from math import sqrt from collections import Counter class KNNClassifier(object) ...

  3. Canvas 基本绘图方法总结

    一.基本内容  1.简单来说,HTML5提供的新元素<canvas>  2.Canvas在HTML页面提供画布的功能,在画布中绘制各种图形  3.Canvas绘制的图形与HTML页面无关, ...

  4. C# 如何用多字符分割字符串

    用单字符分割字符串大家应该很熟悉,例如: string source = "dfd^Afdf^AAAAAA^Adfdf"; var list= source.Split('A'); ...

  5. JavaWeb使用Session防止表单重复提交

    在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 1.什么是表单 ...

  6. Ubuntu安装pip

    首先打开终端 在终端输入:sudo apt-get install python-pip python-dev build-essential [+] 如果需要在Python3下安装pip,那么在py ...

  7. 详见github

    本栏博客不再专门更新,详见:https://github.com/dxscjx123/LeetCode

  8. 使用 ftrace 调试 Linux 内核,第 1 部分【转】

    转自:http://www.ibm.com/developerworks/cn/linux/l-cn-ftrace1/index.html ftrace 是 Linux 内核中提供的一种调试工具.使用 ...

  9. JavaScript原型与继承(1)

    内容: 创建对象的几种模式以及创建的过程 原型链prototype的理解,以及prototype与 __proto__([[Prototype]])的关系 继承的几种实现 1.常见模式与原型链的理解 ...

  10. FineReport——登录不到决策系统

    在不断的测试过程中,可能会造成缓存数据的累积,所以在登录过程中可能会出现登录不到决策系统,而是跳转到某一模板页面 解决方法就是清理缓存或者换一个浏览器测试.