一、命令概述
1.1 实操目标
- 掌握zip/unzip工具离线、在线安装方法
- 熟练文件、目录、多文件批量压缩实操
- 掌握解压、指定目录解压、覆盖解压、保留目录结构
- 学会压缩加密、解压密码、压缩率调节高级用法
- 解决中文乱码、解压覆盖、权限异常等生产报错
- 区分Zip与Tar包适用场景,规范运维选型
1.2 Zip核心介绍
zip是跨平台通用压缩格式,Windows、Linux、Mac系统均可直接识别,兼容性极强。不同于tar(先打包后压缩),zip命令打包+压缩一步完成,支持加密压缩、分级别压缩、批量过滤文件,是服务器与本地电脑文件互传的首选格式。
1.3 工具依赖说明
CentOS、中标麒麟等系统默认不预装zip/unzip,需手动安装后方可使用所有命令。
第一部分:环境部署(安装zip/unzip)
一、在线YUM安装(通用首选)
bash |
二、离线RPM安装(无外网服务器必备)
适用于离线生产服务器,提前下载zip、unzip对应系统版本RPM包,执行本地安装:
bash |
三、检查安装是否成功
bash |
第二部分:Zip压缩实操(生产全场景)
一、核心压缩参数(必背)
- zip:压缩命令主体
- -r:递归压缩(压缩目录必备,遍历子文件、子目录)
- -q:静默压缩,不输出过程日志
- -#:压缩级别(1-9,1最快压缩率低,9最慢压缩率最高)
- -P:设置压缩密码(大写P,生产加密必备)
二、基础压缩实操
2.1 压缩单个文件
bash |
2.2 压缩整个目录(生产高频)
bash |
2.3 批量压缩多文件、多目录
bash |
三、高级压缩实操
3.1 指定压缩级别
bash |
3.2 加密压缩(带密码压缩)
bash |
适用场景:配置文件、敏感数据、业务隐私文件传输备份。
3.3 压缩排除指定文件
bash |
第三部分:Unzip解压实操(生产标准)
一、核心解压参数(必背)
- unzip:解压命令主体
- -d:指定解压目录(生产必备)
- -o:强制覆盖解压,不弹窗询问
- -n:不覆盖已有文件,仅解压新文件
- -l:仅查看压缩包内容,不解压
- -P:带密码解压加密zip包
二、基础解压实操
2.1 直接解压到当前目录
bash |
2.2 解压到指定目录(规范运维)
bash |
核心作用:避免文件散乱,统一归集解压文件,适配生产规范。
三、高级解压实操
3.1 查看压缩包内容(不解压)
bash |
3.2 强制覆盖解压(批量更新场景)
bash |
3.3 不覆盖原有文件(安全解压)
bash |
3.4 解密解压带密码压缩包
bash |
第四部分:Zip生产注意事项(避坑重点)
- 目录压缩必加-r:不加-r仅压缩目录空壳,不会打包子文件和子目录
- zip压缩默认不保留Linux权限:解压后文件权限统一重置,重要权限文件优先使用tar打包
- 压缩包命名禁止中文、空格:跨系统传输极易乱码、解压失败
- 加密密码尽量复杂:简单密码易被破解,敏感数据禁止弱密码
- 大文件归档优先tar.gz:zip压缩率略低,长期备份、超大文件适配tar格式
第五部分:常见报错排错(生产实操)
报错1:unzip: command not found
问题现象
系统未安装unzip工具,无法识别命令
解决方案
执行yum安装:yum install -y zip unzip
报错2:解压中文文件名乱码
问题现象
Windows压缩的zip包,Linux解压后中文文件名乱码
解决方案
bash |
报错3:压缩包损坏、解压失败
问题现象
文件传输中断、压缩包不完整、格式被篡改
解决方案
- 重新传输、下载压缩包,校验文件大小
- 使用unzip -l检测包完整性,无法读取则判定文件损坏
报错4:解压提示文件已存在,反复弹窗
解决方案
批量运维使用-o强制静默覆盖,无需人工确认
第六部分:Zip&Tar生产选型对比(核心必懂)
6.1 Zip适用场景
- Linux与Windows、Mac跨系统文件互传
- 需要加密压缩、隐私文件传输
- 少量文件、临时打包分发
6.2 Tar.gz适用场景
- 服务器长期备份、日志归档、大批量文件压缩
- 需要保留文件权限、属主、目录属性的生产备份
- 系统迁移、环境打包、离线部署
第七部分:生产万能模板(直接套用)
7.1 标准目录压缩模板
bash |
7.2 加密压缩模板
bash |
7.3 标准解压指定目录模板
bash |
7.4 乱码文件解压模板
bash |
第八部分:核心总结(必背)
- 目录压缩核心:zip -r,无-r不递归
- 解压规范核心:unzip -d 指定目录,杜绝散乱解压
- 跨系统传输用zip,服务器备份归档用tar.gz
- 乱码解决加GBK编码,重复覆盖加-o参数,加密解压带-P密码