说明
zip 命令用于压缩文件,它提供了若干选项来完成压缩工作。zip
是 Linux 系统下一个广泛使用的压缩程序,通过该命令压缩的文件将生成具有 .zip
扩展名的压缩文件。
语法
zip [选项] [zip 压缩包名称] [要压缩的文件列表]
选项
-A:调整可执行的自动解压缩文件 -b<工作目录>:指定暂时存放文件的目录 -c:替每个被压缩的文件加上注释 -d:从压缩文件内删除指定的文件 -D:压缩文件内不建立目录名称 -f:此参数的效果和指定-u
参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中 -F:尝试修复已损坏的压缩文件 -g:将文件压缩后附加在已有的压缩文件之后,而非另行建立新的压缩文件 -h:显示帮助信息 -i<范本样式>:只压缩符合条件的文件 -j:只保存文件名称及其内容,而不存放任何目录名称 -J:删除压缩文件前面不必要的数据 -k:使用 MS-DOS 兼容格式的文件名称 -l:压缩文件时,把LF
字符置换成LF+CR
字符 -ll:压缩文件时,把LF+CR
字符置换成LF
字符 -L:显示版权信息 -m:将文件压缩并加入压缩文件后,删除原始文件,即把文件移到压缩文件中 -n<字尾字符串>:不压缩具有特定字尾字符串的文件 -o:以压缩文件内拥有最新更改时间的文件为准,将压缩文件的更改时间设成和该文件相同 -q:不显示指令执行过程 -r:递归处理,将指定目录下的所有文件和子目录一并处理 -S:包含系统和隐藏文件 -t<日期时间>:把压缩文件的日期设成指定的日期 -T:检查备份文件内的每个文件是否正确无误 -u:更换较新的文件到压缩文件内 -v:显示指令执行过程或显示版本信息 -V:保存VMS操作系统的文件属性 -w:在文件名称里假如版本编号,本参数仅在 VMS 操作系统下有效 -x<范本样式>:压缩时排除符合条件的文件 -X:不保存额外的文件属性 -y:直接保存符号连接,而非该链接所指向的文件,本参数仅在 UNIX 之类的系统下有效 -z:替压缩文件加上注释 -$:保存第一个被压缩文件所在磁盘的卷册名称 -<压缩效率>:压缩效率是一个介于1-9
的数值
参数
- zip 压缩包:指定要创建的 zip 压缩包
- 文件列表:指定要压缩的文件列表
实例
将 /home/webroot/html/
这个目录下所有文件和文件夹打包为当前目录下的 html.zip
,命令如下:
zip -q -r html.zip /home/webroot/html
上面的命令是将绝对地址的文件及文件夹进行压缩。
以下给出压缩相对路径目录。比如,目前在 webroot
这个目录下,执行以下操作可以达到以上同样的效果:
zip -q -r html.zip html
比如,在 html
目录下,使用的 zip
压缩命令是:
zip -q -r html.zip *
常见问题
在 CentOS 7 中命令找不到,报如下错:
-Bash: zip: Command Not Found
原因:系统没有安装 zip
压缩程序。
解决方法:通过 yum install
命令安装 zip
程序:
yum install -y unzip zip