【Linux】Linux中zip和unzip

Linux 中的压缩zip和解压unzip命令

一、zip 压缩

  1,应用实例

  (1)将当前文件夹下的所有文件打包成一个×××.zip 文件

    zip  ×××.zip *

  (2)把当前文件夹下所有 .doc 的文件打包成一个 ×××.zip 文件

    zip  ×××.zip  *.doc

  (3)把一个文件 ×××.txt 和一个目录 dir1 压缩成为 @.zip

    zip -r @.zip ×××.txt dir1

  (4)将 /111/222/333/ 这个目录下所有文件和文件夹打包为当前目录下的 @.zip

    zip -r @.zip  /111/222/333

    zip -qr @.zip  /111/222/333

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

  (5)添加一个文件到@ .zip 中

    zip -g @.zip ***.doc

    备注:如果当初并没有把 ***.doc 压在 @.zip 里面,现在把它加进去。

    -g 选项是增加而不要重新产生的意思。

  (6)将更改过的***.doc文件添加到@.zip压缩包中

    zip -u @.zip ***.doc

  (7)删除除@ .zip 文件中的指定A.doc文件

    zip -d @.zip A.doc

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

 

  2,主要参数

    • -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 显示更多帮助

 

二、unzip 解压缩

  1,应用实例

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

    unzip test.zip

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

    unzip mydata.zip -d mydatabak

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

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

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

    unzip -o test.zip -d /tmp/

  (5)只看一下 zip 压缩包中包含哪些文件,不进行解压缩

    unzip -l test.zip

  (6)查看A.zip压缩包里的文件,还包含压缩比率
    unzip -v A.zip  【这个命令包含了(5)里面的内容,更详细】

  (7)检查A.zip里的文件是否损坏
    unzip -t A.zip

  (8) 把/home目录下面wwwroot.zip里面的所有文件解压到第一级目录
  
  unzip -j wwwroot.zip

  (9)把/home目录下面的abc12.zip、abc23.zip、abc34.zip同时解压到/home目录里面

    unzip abc*.zip

  2,主要参数

    • -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
    • -I 指定字符编码为 UNIX

  

 

 

 

 

posted @ 2018-08-24 11:41  演武_zhuwei  阅读(4708)  评论(0编辑  收藏  举报