014 zip命令
命令说明
zip 用于将文件或目录压缩成 .zip 包,跨平台兼容性好(Windows 可直接解压),是 Linux 上最常用的压缩格式之一。
语法
zip [选项]... 压缩包名.zip 文件/目录...
常用参数
| 参数 | 说明 |
|---|---|
| -r | 递归压缩目录(压缩文件夹必加) |
| -q | 静默模式,不显示过程 |
| -d | 从压缩包中删除指定文件 |
| -u | 更新压缩包中已存在的文件 |
| -m | 压缩后删除源文件 |
| -l 文件 | 把文件列表写入压缩包 |
| -e | 加密压缩包(会提示输入密码) |
| -1 ~ -9 | 压缩级别,-1 最快、-9 最小(默认 -6) |
使用示例
$ zip backup.zip a.txt b.txt
把 a.txt、b.txt 压缩为 backup.zip
$ zip -r site.zip /var/www/
递归压缩整个网站目录
$ zip -r -q app.zip app/
静默压缩目录
$ zip -e secret.zip data.txt
创建带密码的压缩包
$ zip -d backup.zip old.txt
从 backup.zip 中删除 old.txt
$ zip -9 -r max.zip logs/
最高压缩比打包日志
实用技巧
- 未安装时:Ubuntu/Debian 用 apt install zip,CentOS/OpenCloudOS 用 dnf install zip。
- zip 不支持对单个文件做流式压缩,目录很大时建议先 zip -r 再分卷;大文件归档更推荐 tar.gz。
- 中文文件名乱码:Windows 打包的 zip 在 Linux 解压可能乱码,可用 unzip -O GBK 指定编码。
- 分卷压缩:zip -s 100m big.zip -r dir/ 可把包切分为多个 100M 的分卷。