一、简介
zip 命令用于压缩文件,是个使用广泛的压缩命令,压缩后的文件后缀名为 .zip。
zip与gzip或bzip2不同,zip可以压缩多个文件或整个目录,并保留文件的目录结构。
zip 在跨平台(如 Windows、macOS)上也广泛支持。
二、语法
语法:zip [options] output.zip file1 file2 ...
output.zip:生成的压缩文件名,可根据实际情况进行自定义。
file1 file2:要压缩的文件或目录。
参数说明:
-A:自动解压缩文件。
-n:不压缩具有特定字符串的文件。
-b:设置暂存文件的目录。
-q:静默执行模式。
-c:添加注释信息到压缩文件。
-r:递归处理所有子文件。
-d:更新压缩包内文件。
-S:包含系统和隐藏文件。
-F:尝试修复损坏的压缩文件。
-t:设置压缩时间为指定日期。
-h:显示帮助信息。
-T:检查压缩文件是否正确无误。
-i:仅压缩符合条件的文件。
-v:显示执行过程详细信息。
-k:使用MS-DOS兼容格式。
-V:保留VMS操作系统的文件属性。
-l:将“LF”替换成“LF+CR”字符。
-w:在文件名称中加入版本编号。
-L:显示版本信息。
-X:不保留过多的文件属性信息。
-m:压缩后删除源文件。
-y:直接保存符号链接,而不是对应文件。
-e:为压缩文件设置密码保护。
-x:排除某些文件或目录,不进行压缩。
-0 到 -9:指定压缩级别,-0 表示存储不压缩,-9 表示最高压缩率,默认是 -6
三、实战
1、压缩单个文件
[root@app01 abc]# zip 1.zip 1.txt
adding: 1.txt (stored 0%)
2、压缩多个文件
[root@app01 abc]# zip 2.zip 1.txt 2.txt 3.txt 4.txt
adding: 1.txt (stored 0%)
adding: 2.txt (stored 0%)
adding: 3.txt (deflated 41%)
adding: 4.txt (deflated 48%)
3、递归压缩目录
[root@app01 abc]# zip -r dir.zip bcd
adding: bcd/ (stored 0%)
adding: bcd/a/ (stored 0%)
adding: bcd/a/b/ (stored 0%)
4、压缩时设置密码
[root@app01 abc]# zip -e a.zip 3.txt
Enter password:
Verify password:
adding: 3.txt (deflated 41%)
注:压缩时设置了密码,解压时需要入输入压缩时的密码,否则会出现解压失败的情况。
5、压缩后删除原文件
[root@app01 abc]# zip -m 1.zip 1.txt
adding: 1.txt (deflated 34%)
[root@app01 abc]# ls -lrt 1.txt
ls: 无法访问1.txt: 没有那个文件或目录
6、更新压缩包文件(增加文件)
[root@app01 abc]# zip -dv 1.zip 3.txt
1>1: adding: 3.txt (deflated 41%)
7、排除指定文件或目录不压缩
[root@app01 abc]# zip abc.zip 3.txt -x aa.log
adding: 3.txt (deflated 41%)