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 的分卷。