zip命令

功能说明

    zip程序即是文件压缩工具也是文件归档工具,可以对文件或者目录进行压缩或解压,压缩格式为zip。在Linux系统中,gzip才是主要的压缩指令,而bzip2仅次之。Linux用户主要使用zip程序与Windows系统交换文件,而不是将其用于压缩或是归档文件。用法如下:

  zip [选项] 压缩文件名 需要压缩的文档列表

  unzip [选项] 压缩文件名

常用参数
选项    说明
zip命令    
-r    递归压缩,将指定目录下的所有文件以及子目录全部压缩
-d    从压缩文件内删除指定的文件
-i "文件列表"    只压缩文件列表中的文件
-x "文件列表"    压缩时排队文件列表中指定的文件
-u    更新文件到压缩文件中
-m    将文件加入压缩文件压缩后,删除原始文件,即马文件移至压缩文件中
-F    尝试修复损坏的压缩文件
-T    检查压缩文件内的每个文件是否正确无误
- #    压缩级别是1-9之间的一个数字
unzip命令    
-x "文件列表"    解压文件,但不包含文件列表中指定的文件
-t    测试压缩文件有无损坏,并不解压
-v    查看压缩文件的详细信息,具体包括压缩文件中包含的文件大小、文件名和压缩比等,并不解压
-n    解压时不覆盖已经存在的文件
-o    解压时覆盖已经存在的文件,并且不要求用户确认
-d 目录名    把压缩文件解压到指定目录下

示例                    

    对test目录下的所有文件以及目录进行压缩

[ app]# zip -9r test.zip test/

    对test目录中所有文件以及子目录压缩,除了*.gz的文件,压缩后的文件保存在当前目录

[ app]# ls -l test

总用量 216

-rw-r--r--. 1 root root    181 11月 23 17:07 99.sh

-rw-------. 1 1127.www.qixoo.qixoo.com/root root  11595 11月 23 17:07 messages

-rw-r--r--. 1 root root   1149 11月 23 17:07 messages2.gz

-rw-r--r--. 1 root root   1202 11月 23 17:07 messages.gz

-rw-r--r--. 1 root root 143538 11月 23 17:07 shell.txt

-rw-r--r--. 1 root root  48218 11月 23 17:07 shell.txt.bz2

[ app]# zip -r test3.zip test -x "*.gz"    #没有压缩*.gz的文件

  adding: test/ (stored 0%)

  adding: test/99.sh (deflated 30%)

  adding: qkxue.net/test/messages (deflated 90%)

  adding: test/shell.txt (deflated 62%)

  adding: test/shell.txt.bz2 (deflated 0%)

    使用-d参数将上面test3.zip中的test/shell.txt文件从压缩包中删除

[ app]# zip test3.zip -d test/shell.txt

deleting: test/shell.txt

    使用-u参数,将修改了的/test/99.sh文件,把更改的信息更新到test3.zip包中

[ app]# zip -u test3.zip /test/99.sh

updating: test/99.sh (deflated 30%)

    如果test目录下更新文件较多,也可以使用下面方法全部更新到test3.zip下
[ app]# zip -ru test3.zip /test/

    将test3.zip压缩文件全部解压到/tmp目录下,并且在解压过程如如果出现相同的文件就直接进行覆盖,不要求用户确认

[ app]# unzip -o test3.zip  -d /tmp/

[ test]# pwd

/tmp/test

[ test]# ls

99.sh  messages  shell.txt.bz2

Linux命令(31):zip/unzip命令-打包压缩的更多相关文章

  1. Linux zip/unzip命令

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

  2. linux每日命令(31):tar命令

    tar命令可以为linux的文件和目录创建档案.利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件.tar最初被用来在磁带上创建档案,现在,用户可以在 ...

  3. linux(centos8):使用zip/unzip压缩和解压缩文件

    一,查看zip命令所属的rpm包 1,zip [root@kubemaster ~]# whereis zip zip: /usr/bin/zip /usr/share/man/man1/zip.1. ...

  4. tar归档压缩命令和zip归档 和7zip压缩命令;库文件归档ar命令

    第一.tar 归档 tar -c 创建归档文件包 tar -x 释放归档文件包 tar -t 查看归档文件包 tar -v 显示归档包操作过程信息 tar -f 指定归档文件名 案例1:归档 /hom ...

  5. CentOS安装zip unzip命令

    yum install zip unzip

  6. 『学了就忘』Linux基础命令 — 31、grep命令和通配符

    目录 1.grep命令介绍 2.find命令和grep命令的区别(重点) (1)find命令 (2)grep命令 3.通配符与正则表达式的区别 (1)通配符: (2)正则表达式: 1.grep命令介绍 ...

  7. Linux 学习记录二(文件的打包压缩).

    和 window不同,在Linux压缩文件需要注意的是,压缩后的文件会把源文件给替代,无论是gzip.bzip2.xz 均不支持压缩目录,要达到压缩目录的目的,需要用到tar指令.   gzip 压缩 ...

  8. linux系统上使用unzip命令

    最近在本地使用maven打包工程后,将工程部署到linux服务器的tomcat上,使用unzip解压工程报--->未找到命令.即该命名文件未安装,需要安装一下.安装命令如下: yum insta ...

  9. Linux 学习记录 二 (文件的打包压缩).

     前言:本文参考<鸟哥的Linux 私房菜>,如有说的不对的地方,还请指正!谢谢!  环境:Centos 6.4    和window不同,在Linux压缩文件需要注意的是,压缩后的文件会 ...

随机推荐

  1. [MCSM]伪随机数和伪随机数生成器

    1. 几个问题 为什么需要随机数? 伪随机数伪在哪里? 为何要采用伪随机数代替随机数?这种代替是否有不利影响? 如何产生(伪)随机数? 以下内容将围绕这几个问题依次说明. 2. 参考 http://e ...

  2. 用canvas画简单的“我的世界”人物头像

    前言:花了4天半终于看完了<Head First HTML5>,这本书的学习给我最大的感受就是,自己知识的浅薄,还有非常多非常棒的技术在等着我呢.[熊本表情]扶朕起来,朕还能学! H5新增 ...

  3. JavaScript中的类型转换(二)

    说明: 本篇主要讨论JavaScript中各运算符对运算数进行的类型转换的影响,本文中所提到的对象类型仅指JavaScript预定义的类型和程序员自己实现的对象,不包括宿主环境定义的特殊对象(比如浏览 ...

  4. 正式版/免费版 Xamarin 体验与拥抱

    感谢MS, 感谢老纳.终于把 Xamarin 这个磨人的小妖精给收了,在也不用向大神要破解补丁了, 终于可以光明正大的使用了!! 跟据实践, 如果你们想体验一下 .NET 开发 IOS /Androi ...

  5. 深入理解OOP(四): 多态和继承(抽象类)

    在本文中,我们讨论OOP中的热点之一:抽象类.抽象类在各个编程语言中概念是一致的,但是C#稍微有些不一样.本文中我们会通过代码来实现抽象类,并一一进行解析. 深入理解OOP(一):多态和继承(初期绑定 ...

  6. SQL中的内连接与外连接

    关于关系代数连接运算的介绍请查看下面链接 http://www.cnblogs.com/xidongyu/articles/5980407.html 连接运算格式 链接运算由两部分构成:连接类型和连接 ...

  7. 工作框架各种使用整理 -- 展示数据列表并做update

    <!--ProductCategory.xml--> <?xml version="1.0" encoding="UTF-8"?> &l ...

  8. 1109关于redo_Log和undo_log和BIN-LOG

    转自http://www.cnblogs.com/Bozh/archive/2013/03/18/2966494.html 三者之间的区别BIN-LOG 一个对应BINLOG文件REDO-LOG 对应 ...

  9. Java自己实现双向链表LinkList

    /** * <p> * Node 双向链表实体类 * <p> * * @author <a href="mailto:yangkj@corp.21cn.com& ...

  10. Swift开发小技巧--自定义Log

    Swift中的自定义Log OC中有宏的定义,可以定义自己的Log,但是Swif中没有宏的定义,想要实现类似OC中的自定义Log,必须实现以下操作 1.在AppDelegate.swift文件中定义一 ...