CentOS 安装 zip
安装软件
sudo yum install zip unzip # CentOS 7
sudo dnf install zip unzip # CentOS 8/9
压缩文件
# 压缩单个文件
zip 压缩包名.zip 文件1
# 压缩多个文件
zip 压缩包名.zip 文件1 文件2 文件3
# 压缩目录(包含子目录)
zip -r 压缩包名.zip 目录名/
排除特定文件
zip -r 压缩包名.zip 目录名/ -x "排除的文件或目录"
# 示例:排除所有 .log 文件
zip -r backup.zip /data/ -x "*.log"
加密压缩(设置密码)
zip -er 加密压缩包名.zip 文件或目录
# 输入两次密码确认
3. 解压文件
解压到当前目录
unzip 压缩包名.zip
解压到指定目录
unzip 压缩包名.zip -d 目标目录
查看压缩包内容(不解压)
unzip -l 压缩包名.zip
解压加密压缩包
unzip 加密压缩包名.zip
# 输入密码后解压
4. 高级用法
设置压缩级别(0-9,默认6)
zip -r -9 最大压缩包名.zip 目录名/ # 压缩率最高(速度慢)
zip -r -0 快速压缩包名.zip 目录名/ # 压缩率最低(速度快)
分卷压缩(按大小分割)
zip -r -s 100m 分卷压缩包名.zip 大目录/
# 生成分卷文件:分卷压缩包名.zip、分卷压缩包名.z01、分卷压缩包名.z02...
5. 常见问题解决
错误:zip warning: name not matched
- 原因:文件或目录路径错误。
- 解决:检查路径是否存在,使用绝对路径更安全。
错误:Permission denied
- 原因:权限不足。
- 解决:使用
sudo
或调整文件权限:sudo zip -r 压缩包名.zip /受保护目录/
错误:command not found
- 原因:未安装
zip/unzip
。 - 解决:参考第一步安装工具。
总结命令
操作 | 命令 |
---|---|
压缩目录 | zip -r 压缩包名.zip 目录名/ |
排除文件 | zip -r 压缩包名.zip 目录名/ -x "*.log" |
加密压缩 | zip -er 加密包名.zip 目录名/ |
解压到指定目录 | unzip 压缩包名.zip -d 目标目录 |
查看压缩内容 | unzip -l 压缩包名.zip |
注意事项
- 加密安全:使用
-e
参数加密时,密码会明文显示在终端历史中,敏感操作后建议清除历史。 - 递归压缩:压缩目录时务必使用
-r
参数,否则只会压缩空目录。 - 权限问题:压缩系统文件时需
sudo
权限。