Linux基础命令---zipinfo-阿里云开发者社区

开发者社区> 开发与运维> 正文

Linux基础命令---zipinfo

简介:
zipinfo
      在不解压的情况下,获取zip压缩文件的的详细信息。zipinfo列出了ZIP档案中有关文件的技术信息,最常见的是在MS-DOS系统上。这些信息包括文件访问权限、加密状态、压缩类型、版本和操作系统或压缩程序的文件系统等。默认的行为(没有选项)是列出存档中每个文件的单线条目,标题和拖车行为整个归档提供摘要信息。格式是Unix‘ls-l’和‘unzip-v’输出之间的交叉。见下文的详细说明。请注意,zipinfo与解压缩程序相同(在Unix下,链接到它);然而,在某些系统上,在解压缩编译时可能忽略了zipinfo支持。
      此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法 
      zipinfo  [-12smlvhMtTz]  file[.zip]  [file(s) ...]  [-x xfile(s) ...]

2、参数和选项列表
      file[.zip]
            ZIP存档的路径。如果文件规范是通配符,则按操作系统(或文件系统)确定的顺序处理每个匹配的文件。只有文件名可以是通配符;路径本身不能。通配符表达式类似于unix egrep(1)(正则)表达式,可能包含
      [file(s)]
            要处理的归档成员的可选列表,用空格分隔。(用VMSCLI定义的VMS版本必须用逗号分隔文件。)正则表达式(通配符)可用于匹配多个成员;参见上文。同样,请务必引用否则将由操作系统展开或修改的表达式。
      [-x xfile(s)]
            要排除在处理之外的归档成员的可选列表。

      -h | --help
            帮助信息
      -V | --version
            显示命令版本信息
      -1
            只列出文件名称
      -2
            和“-1”类似,但是可以单配其他选项“-h”、-i”、-z”
      -s
            类似“ls –l”的短格式
      -m
            类似“ls -l”的medium格式
      -l
            类似“ls -l”的长格式
      -v
            显示zip文件的详细信息
      -h
            只列出压缩包的文件名、大小、包内文件数目
      -M
            类似more命令,分屏显示
      -t
            列出压缩文件内的文件数目、压缩前后文件大小、压缩率
      -T
            将压缩包内文件的日期以年、月、日、时、分、秒的顺序列出
      -z
            显示压缩文件的注释信息

3、例子代码
      要获得包含头行和总计行的ZIP存档Storage.zip的完整内容的基本的、简短的列表,只使用归档名称作为zipinfo的参数。
            zipinfo  storage
      要生成一个基本的、长格式的列表(而不是冗长的),包括标题和总计行,请使用-l:
            zipinfo  -l  storage
      要列出没有标题和总计行的存档的完整内容,可以忽略-h和-t选项,或者显式地指定内容:
            zipinfo  --h-t  storage
            zipinfo  storage  \*

      默认情况下,若要关闭汇总行,请使用环境变量(此处假定为C shell):
            setenv  ZIPINFO  --t
            zipinfo  storage

      为了再次获得第一个示例的完整、简短的列表,考虑到前面示例中设置了环境变量,有必要显式地指定-s选项,因为-t选项本身意味着只打印页      脚行
            setenv  ZIPINFO  --t
            zipinfo  -t  storage            [only totals line]
            zipinfo  -st  storage           [full listing]

      若要以中等格式列出存档中单个文件的信息,请显式指定文件名。
            zipinfo  -m  storage  unshrink.c
      任何成员文件的规范都将覆盖默认的标头和总计行;将只打印有关请求文件的一行信息。这是在请求有关单个文件的信息时所期望的直观结果。对于多个文件,了解总的压缩和未压缩大小通常是有用的;在这种情况下,可以显式地指定-t:
            zipinfo  -mt  storage  "*.[ch]"  Mak\*
      要获取有关ZIP存档的最大信息,请使用详细选项。如果操作系统允许,通常明智的做法是将输出输送到Unix More(1)这样的过滤器中:
            zipinfo  -v  storage | more
      要查看存档中最近修改的文件,请结合外部排序实用程序(如Unix Sort(1)和sed(1)使用-T选项
            zipinfo  -T  storage | sort  –nr  -k  7 | sed  15q

4、实例
1)显示压缩文件内的信息
      [root@localhost weijie]# zipinfo res.zip                        //查看压缩包内文件信息
      Archive:  res.zip
      Zip file size: 907 bytes, number of entries: 5
      -rw-r--r--  3.0 unx        0 BX stor 18-Sep-14 10:46 11.c
      -rwxr--r--  3.0 unx       15 TX stor 18-Sep-19 16:08 4.c
      -rwxr--r--  3.0 unx       11 TX defN 18-Sep-19 16:08 2.c
      -rwxr--r--  3.0 unx       15 TX stor 18-Sep-19 16:08 3.c
      -rw-r--r--  3.0 unx       38 TX defN 18-Sep-14 09:41 5.c
      5 files, 79 bytes uncompressed, 73 bytes compressed:  7.6%
2)使用-h选项
      [root@localhost weijie]# zipinfo -h res.zip             //只显示压缩包大小、文件数目
      Archive:  res.zip
      Zip file size: 907 bytes, number of entries: 5

版权声明:本文首发在云栖社区,遵循云栖社区版权声明:本文内容由互联网用户自发贡献,版权归用户作者所有,云栖社区不为本文内容承担相关法律责任。云栖社区已升级为阿里云开发者社区。如果您发现本文中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,阿里云开发者社区将协助删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章