安装

# unbuntu
sudo apt-get install zip unzip

# centeros
sudo yum install zip unzip

解压

unzip xx.zip
unzip -o xx.zip #unzip覆盖解压  
unzip -f xx.zip #unzip强制覆盖

压缩命令

https://www.runoob.com/linux/linux-comm-zip.html
https://www.geeksforgeeks.org/zip-command-in-linux-with-examples/
https://blog.csdn.net/yspg_217/article/details/122198271
查看帮助命令
zip -h
zip -h2 查看参数详细说明 (英文)

  • 参数
    -A 调整自解压程序
    -c 添加单行注释。
    -d 从zip包中删除文件
    -D 不压缩子路径
    -j 不压缩目录,只压缩文件
    -J 删除 zipfile 中的前缀
    -m 将文件移动到 zipfile 中,并从系统中删除源文件
    -n 不压缩具有指定后缀的文件
    -q 安静压缩 不显示指令执行过程
    -r 递归处理,将指定目录下的所有文件和子目录一并处理
    -R 递归当前目录中匹配的文件
    -x 排除文件
    -u 更新压缩包
    -v 显示操作过程

-C:表示将压缩文件路径修改为指定的目录,这样就不会出现压缩文件路径太深,解压麻烦的问题;
1、-c:将解压缩的结果改悄。
2、-l:显示压缩文件内所包含的文件。
3、-p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
4、-t:检查压缩文件是否正确。
5、-u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其它文件解压缩到目录中。
6、-v:执行是时显示详细的信息。
7、-z:仅显示压缩文件的备注文字。
8、-a:对文本文件进行必要的字符转核配渣换。
9、-b:不要对文本文件进行字符转换。
10、-C:压缩文件中的文件名称区分大小写。

zip -r xx.zip abc/
zip -r xx.zip z.txt f.txt 
#压缩一个目录
zip -q -r html.zip /html
#压缩当前目录的全部文件
zip -q -r html.zip *

#删除压缩包中的文件
zip -d xxx.zip WEB-INF/web.xml


#压缩文件夹(不包文件夹路径-j)
zip -q -r -j /home/c.zip  /data/code/squoosh/data/
#不压缩2级路径
zip -q -j /home/c.zip  /data/code/squoosh/data/

解压命令

unzip test.zip             #将test.zip解压到当前文件下
unzip -n aaa.zip -d /tmp  #将test.zip解压到/tmp目录下,并且不要覆盖已有文件
unzip -v test.zip           #查看test.zip内容,但不解压
unzip -o test.zip -d tmp/   #将test.zip解压到/tmp目录下,并且覆盖已有文件

unzip -o /data/C02.zip -d /data/test