zip / unzip — 跨平台压缩归档

zipunzip 用于创建和提取 PKZIP 格式的压缩归档,与 Windows/Mac 兼容性好。

命令说明

zip 将多个文件压缩为一个 .zip 归档文件。与 tar.gz 不同,zip 同时支持打包和压缩,且每个文件独立压缩。unzip 用于提取 zip 归档。

应用场景

  • 创建跨平台兼容的压缩文件
  • 与 Windows/Mac 用户交换文件
  • 压缩发送邮件附件
  • 备份文件

常用示例

示例 1:创建 zip 归档

bash
复制代码
zip archive.zip file1.txt file2.txt

示例 2:递归压缩目录

bash
复制代码
zip -r project.zip project/

示例 3:查看 zip 内容

bash
复制代码
unzip -l project.zip
plaintext
复制代码
Archive:  project.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2024-08-19 10:00   project/
     1523  2024-08-19 10:00   project/main.py
      220  2024-08-19 10:00   project/README.md
---------                     -------
     1743                     3 files

示例 4:解压 zip 文件

bash
复制代码
unzip project.zip

示例 5:解压到指定目录

bash
复制代码
unzip project.zip -d /tmp/extracted/

示例 6:创建加密 zip

bash
复制代码
zip -e secure.zip secret.txt
plaintext
复制代码
Enter password:
Verify password:

zip 参数详解

参数 说明
-r 递归包含子目录
-e 加密归档
-m 压缩后删除原文件
-u 更新归档中的文件
-f 刷新归档中的文件
-d 从归档中删除文件
-x PATTERN 排除匹配的文件
-9 最优压缩
-0 不压缩只打包
-v 显示详细信息
-T 测试归档完整性
-q 静默模式

unzip 参数详解

参数 说明
-l 列出归档内容
-t 测试归档完整性
-d DIR 提取到指定目录
-o 覆盖文件不提示
-n 不覆盖已存在的文件
-j 忽略目录结构
-v 详细列表
-P PASSWORD 使用密码解密
-q 静默模式
-x PATTERN 排除匹配的文件