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. mysql 在查询结果中进行二次查询

    第一次查询:查询身份证编号和出现次数 select cardid,count(cardid) as total from p_person_info group by cardid 在第一次查询结果进 ...

  2. 删除linux上7天前后缀名.sql的文件

    #!/bin/bash#delete the file of 7 days agofind /data/mysqlbackup/ -mtime +7 -name "*.sql" - ...

  3. 【usaco-Liars and Truth Tellers, 2013 Jan真假奶牛】并查集

    题解: 原先我看错题了,以为是任意选择k个使得它们不矛盾. 这样的话怎么做呢?我想M^2判断,把它们分成若干个集合,集合里面两两不矛盾这个集合里所有的话就不矛盾了. 但是这样是错的.为什么呢? 每一句 ...

  4. 14、char和varchar的区别?

    就长度来说: ♣ char的长度是不可变的; ♣ 而varchar的长度是可变的,也就是说,定义一个char[10]和varchar[10],如果存进去的是‘csdn’,那么char所占的长度依然为1 ...

  5. Python 源码学习之内存管理 -- (转)

    Python 的内存管理架构(Objects/obmalloc.c): _____ ______ ______ ________ [ int ] [ dict ] [ list ] ... [ str ...

  6. 解决不走onActivityResult方法

    最近在开发公司项目,在使用startActivityForResult关联俩个Activity中,发现A跳转到B,B设置setResult之后,A没有执行onActivityResult,查找一下,发 ...

  7. [干货,阅后进BAT不是梦]面试心得与总结---BAT、网易、蘑菇街

    本文转载自:公众号:JANiubility 前言 之前实习的时候就想着写一篇面经,后来忙就给忘了,现在找完工作了,也是该静下心总结一下走过的路程了,我全盘托出,奉上这篇诚意之作,希望能给未来找工作的人 ...

  8. 9.quartus_warning_altera_reserved_tck

    编译的时候没有注意,整个工程都可以在板子上跑起来.但是做Powerplay的时候,出现了这个Critical Warning:. Critical Warning: The following clo ...

  9. linux非阻塞的socket EAGAIN的错误处理【转】

    转自:http://blog.csdn.net/tianmohust/article/details/8691644 版权声明:本文为博主原创文章,未经博主允许不得转载. 在Linux中使用非阻塞的s ...

  10. gpio子系统和pinctrl子系统(下)

    情景分析 打算从两个角度来情景分析,先从bsp驱动工程师的角度,然后是驱动工程师的角度,下面以三星s3c6410 Pinctrl-samsung.c为例看看pinctrl输入参数的初始化过程(最开始的 ...