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. 【BZOJ2850】巧克力王国 [KD-tree]

    巧克力王国 Time Limit: 60 Sec  Memory Limit: 512 MB[Submit][Status][Discuss] Description 巧克力王国里的巧克力都是由牛奶和 ...

  2. OPENId是什么, OAUTH 是什么

    what is openId open id is said to be a protocol which uses url as username, so if a website supports ...

  3. Bazinga(HDU5510+KMP)

    t题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5510 题目: 题意:找到一个编号最大的字符串满足:存在一个编号比它小的字符串不是它的字串. 思路:K ...

  4. this的九种常用场景(转子jb51.net)

    [场景1]全局环境中的this指向全局对象 ; alert(a); b = ; alert( ; [场景2]对象内部函数的this指向调用函数的当前对象 ; var bar = { a: , test ...

  5. linux安装(Ubuntu)——(二)

    centos的安装参考: http://www.runoob.com/linux/linux-install.html Linux 安装(Ubuntu) 虚拟机:虚拟机(Virtual Machine ...

  6. Python学习笔记 - day14 - Celery异步任务

    Celery概述 关于celery的定义,首先来看官方网站: Celery(芹菜) 是一个简单.灵活且可靠的,处理大量消息的分布式系统,并且提供维护这样一个系统的必需工具. 简单来看,是一个基于pyt ...

  7. Android 6.0 Marshmallow root 方法

    android 6.0 已经推出 release 版本了, nexus 5,6,7,9 都放了官方镜像, 本篇文章使用 nexus 6 安装最新的 android 6.0 并进行root step 1 ...

  8. 网络设备之pci_device_id

    标准PCI设备都有一个配置寄存器,用来存储各种参数: /* pci设备配置寄存器 */ struct pci_device_id { /* 厂商id,设备id */ __u32 vendor, dev ...

  9. fork与vfork区别

    1. 地址空间各段拷贝: fork: 内核为子进程生成新的地址空间结构,拷贝父进程的代码段,数据空间,堆,栈到自身的地址空间,但注意:子进程的代码段并不会分配物理空间,而是指向父进程的代码段物理空间, ...

  10. angular数据绑定---js全局学习

    <!DOCTYPE html> <html ng-app> <head> <title>Simple app</title> </he ...