zoukankan      html  css  js  c++  java
  • Linux命令之unzip

    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%)
    

      

  • 相关阅读:
    leetcode教程系列——Binary Tree
    《Ranked List Loss for Deep Metric Learning》CVPR 2019
    《Domain Agnostic Learning with Disentangled Representations》ICML 2019
    Pytorch从0开始实现YOLO V3指南 part5——设计输入和输出的流程
    Pytorch从0开始实现YOLO V3指南 part4——置信度阈值和非极大值抑制
    Pytorch从0开始实现YOLO V3指南 part3——实现网络前向传播
    Pytorch从0开始实现YOLO V3指南 part2——搭建网络结构层
    Pytorch从0开始实现YOLO V3指南 part1——理解YOLO的工作
    让我佩服的人生 文章
    win8.1配置cordova+ionic等一系列东西
  • 原文地址:https://www.cnblogs.com/diantong/p/10180133.html
Copyright © 2011-2022 走看看