zip

1.功能作用:压缩文件或者目录

2.位置:/usr/bin/zip

3.格式用法:zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]

4.主要参数

  • -f 更新现有的文件
  • -u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中
  • -d 指定文件解压缩后所要存储的目录
  • -m 将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中
  • -r 将指定的目录下的所有子目录以及文件一起处理
  • -j 不处理压缩文件中原有的目录路径
  • -0 在存储,不压缩
  • -l 显示压缩文件内所包含的文件
  • -1 较快速度的压缩
  • -9 较高质量的压缩
  • -q 安静模式,在压缩的时候不显示指令的执行过程
  • -v 执行是时显示详细的信息
  • -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换
  • -z 仅显示压缩文件的备注文字
  • -@ 从标准输入中读取名称,一个路径名称用一行
  • -o 将压缩文件内的所有文件的最新变动时间设为压缩时候的时间
  • -x 指定不要处理.zip压缩文件中的哪些文件
  • -i 只压缩符合条件的文件
  • -F 尝试修复损坏的压缩文件
  • -D 压缩文件内不建立目录名称
  • -A 调整可执行的自动解压缩文件
  • -J 删除可执行文件,留下一个普通的zip归档文件
  • -T 检查备份文件内的每个文件是否正确无误
  • -X 解压缩时同时回存文件原来的UID/GID
  • -y 直接保存符号连接,而非该连接所指向的文件,本参数仅在UNIX之类的系统下有效
  • -e 加密
  • -n 不压缩具有特定字尾字符串的文件
  • -h2 显示更多帮助

5.应用实例

1、把所有 my1*.doc 的文件打包成一个 new1.zip文件

  1. zip new1.zip my1*.doc

new1.zip 可以省略扩展名简写成 new1,它会自行默认 .zip 的扩展名。

2、删除除.zip文件中的指定文件

  1. zip -d new1.zip my18.doc

如果当初my18.doc 是压缩在 new1.zip 中的一个文件,现在这条命令把它从压缩文件中抽走并删掉。-d 是删除的意思。

3、添加一个文件到.zip文件中

  1. zip -g new1.zip my32.doc

如果当初并没有把 my32.doc 压在 new1.zip 里面,现在把它加进去。-g 选项是增加而不要重新产生的意思

4、将更改过的文件添加到压缩包中

  1. zip -u new1.zip my2*.doc

如果当初 my2*.doc都已经压缩进 new1.zip 里面了,但是后来 my2*.doc中有几个文件有更改,又不想去找出到底是哪些文件更改了,这条命令请系统自行帮助检查,更改过的才更新到压缩,否则就不必动。

5、把一个文件abc.txt和一个目录dir1压缩成为yasuo.zip:

  1. zip -r yasuo.zip abc.txt dir1

6、将/home/Blinux/html/ 这个目录下所有文件和文件夹打包为当前目录下的html.zip

  1. zip -qr html.zip /home/Blinux/html

-q为安静模式,在压缩的时候不显示指令的执行过程

unzip

1.功能作用:解压缩zip文件

2.位置:/usr/bin/unzip

3.格式用法:unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]

4.主要参数

  • -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换
  • -p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
  • -l 显示压缩文件内所包含的文件
  • -f 更新现有的文件
  • -t 检查压缩文件是否正确,但不解压
  • -u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中
  • -z 仅显示压缩文件的备注文字
  • -v 执行是时显示详细的信息。或查看压缩文件目录,但不解压
  • -T 将压缩文件内的所有文件的最新变动时间设为解压缩时候的时间
  • -x 指定不要处理.zip压缩文件中的哪些文件
  • -d 指定文件解压缩后所要存储的目录
  • -n 解压缩时不要覆盖原有的文件
  • -q 安静模式,执行时不显示任何信息
  • -o 不必先询问用户,unzip执行后覆盖原有文件
  • -a 对文本文件进行必要的字符转换
  • -j 不处理压缩文件中原有的目录路径(这个即是忽略压缩文件中的目录而直接将文件解压到指定位置)
  • -aa 把所有的文件目录当作文本处理
  • -U use escapes for all non-ASCII Unicode
  • -UU 忽略Unicode编码字符
  • -C 压缩文件中的文件名称区分大小写
  • -L 将压缩文件中的全部文件名改为小写
  • -X 解压缩时同时回存文件原来的UID/GID
  • -V 保留VMS的文件版本信息
  • -K 保留文件的setuid/setgid/tacky属性
  • -M 将输出结果送到more程序处理
  • -O 指定字符编码为DOS,Windows和OS/2.这个选项就是解决文件名乱码的答案。-O gbk
  • -I 指定字符编码为UNIX


实例

0、unzip -j -O gbk xxx.zip -d ./

1、把文件解压到当前目录下

  1. unzip test.zip

2、如果要把文件解压到指定的目录下,需要用到-d参数。

  1. unzip -d /temp test.zip

3、解压的时候,有时候不想覆盖已经存在的文件,那么可以加上-n参数

  1. unzip -n test.zip
  2. unzip -n -d /temp test.zip

4、只看一下zip压缩包中包含哪些文件,不进行解压缩

  1. unzip -l test.zip

5、查看显示的文件列表还包含压缩比率

  1. unzip -v test.zip

6、检查zip文件是否损坏

  1. unzip -t test.zip

7、将压缩文件test.zip在指定目录tmp下解压缩,如果已有相同的文件存在,要求unzip命令覆盖原先的文件

  1. unzip -o test.zip -d /tmp/

如何只提取zip文件中某一个文件?

公司电商平台备份后文件大小多达10个G!海量小文件、图片、js、css等等......;

  这造成了一种情况,如果不小心删除了一个文件而无法恢复的情况! 那就只能从备份文件中提取咯! 但是一想到为了提取几KB的一个文件,而unzip整个压缩文件...........呵呵呵!

请谨记以下命令:

      unzip <Your zip file> "*mobile/要解压的文件" -d <要解压的目录>

* : 可以使用*做通配符,具体使用我就不废话了!

-d : -d 参数后面跟上你要解压文件到哪个目录;

zip / unzip 的用法的更多相关文章

  1. CentOS安装zip unzip命令

    yum install zip unzip

  2. tar, rar, unrar, zip, unzip

    tar 打包/解包/压缩/解压缩文件,注意打包和压缩不是一回事,打包相当于捆绑,压缩是在捆绑好后再把里面的空隙挤出以生成更小的文件 $tar [-zjxcvf] filename.tar[.gz... ...

  3. Linux zip/unzip命令

    From: http://www.ixdba.net/a/os/linux/2010/0725/359.html From: http://www.cnblogs.com/chinareny2k/ar ...

  4. 压缩 & 解压缩 命令汇总:tar、zip & unzip、

    1. tar命令详解     格式:tar [-cxtzjvfpPN] 文件与目录 -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五 ...

  5. centos 文档的压缩和打包 gzip,bzip2,xz,zip,unzip,tar,tgz 第九节课

    centos  文档的压缩和打包   gzip,bzip2,xz,zip,unzip,tar,tgz  第九节课 SAS盘可以支持热插拔,看机器 tar.zip.tar -czvf 不会动源文件,gz ...

  6. zip unzip tar 压缩解压

    yum install -y unzip zip    yum安装zip -r mydata.zip mydata    mydata目录压缩为mydata.zipunzip mydata.zip - ...

  7. linux 安装zip/unzip/g++/gdb/vi/vim等软件

    近期公司新配置了一台64位云server.去部署的时候发现,没有安装zip/unzip压缩解压软件. 于是仅仅好自己安装这两个软件.linux最好用的还是yum. 两个指令就安装好了. 首先把软件安装 ...

  8. Centos7 安装rar,unrar,zip,unzip

    1.yum 安装unrar # yum install unrar rar命令 # rar a test.rar test.jpg test.png 这条命令是将test.jpg和test.png压缩 ...

  9. linux下zip/unzip详解

    linux下zip_unzip详解 命令列表:zip    -q (quiet)    -r (recursive)    -0(level0-level9)    -e (encrypt)    - ...

随机推荐

  1. bbs项目中对反向查询和分组查询的具体的应用

    我的数据库是按照下面的图片的方式设计的 然后看下model中代码 class User(models.Model): uid = models.AutoField(primary_key=True) ...

  2. wk1&2 字符串

    [CQ] 自增怎么样都增了,赋值不一定: int x = 2; int y = 2; int i = ++x; int j = y++; System.out.println(x); System.o ...

  3. 微信小程序基础架构

    一个微信小程序界面由一个页面描述文件,一个页面逻辑文件,一个样式表文件来进行描述 在主目录中的三个以app开头的文件就是微信小程序的主描述文件 app.js :主逻辑文件,用来注册小程序 app.js ...

  4. Js 怎么遍历json对象所有key及根据动态key获取值(根据key值获取相应的value值)

    Js代码 <script type="text/javascript"> getJson('age'); function getJson(key){ var json ...

  5. C#中DllImport用法

    http://blog.csdn.net/u011981242/article/details/52622923 http://www.jb51.net/article/46384.htm 读取身份证 ...

  6. spring boot 1.5.3项目放到resin4.0.53报错

    报错信息: {main} java.lang.AbstractMethodError: org.hibernate.validator.internal.engine.ConfigurationImp ...

  7. 4.Mysql中的运算符

    4.Mysql中的运算符运算符用来连接表达式.运算符包括:算术运算符.比较运算符.逻辑运算符.位运算符. 4.1 算术运算符算术运算符包括加(+).减(-).乘(*).除(/).取模(%,MOD) 5 ...

  8. 常用Date操作方法

    public class DateUtils {     /**    * 获取时间戳    * 输出结果:1438692801766    */   @Test   public void getT ...

  9. andorid EditView

    <?xml version="1.0" encoding="utf-8"?> <GridLayout xmlns:android=" ...

  10. sFlow-rt安装部署

      sFlow技术是一种以设备端口为基本单元的数据流随机采样的流量监控技术,不仅可以提供完整的第二层到第四层甚至全网范围内的实时流量信息,而且可以适应超大网络流量(如大于10Gbit/s)环境下的流量 ...