在传输大文件或备份数据时,我们经常需要用到分卷压缩(将大文件切分成多个小文件)以及加密压缩的功能。本文总结了 Mac 和 Linux 下 zip 命令的常用技巧。

1. 分卷压缩

使用 -s 参数指定分卷大小。

1.1 创建新的分卷压缩包

1
2
# 将 foo 文件夹压缩,每个分卷大小为 100MB
zip -s 100m -r file.zip foo/
  • -s: 指定每个分卷的大小 (可以使用 k, m, g, t)
  • -r: 递归处理目录

1.2 切分已有的 Zip 文件

如果已经有一个大的 zip 文件,想把它切分:

1
zip existing.zip --out new.zip -s 50m

执行后会生成如下文件序列:

  • new.zip
  • new.z01
  • new.z02

2. 解压分卷文件

解压分卷文件前,通常需要将其“合并”或让解压工具识别主文件。

方式一:合并后解压(推荐)

1
2
3
4
5
# 1. 修复/合并分卷为一个单独的完整文件
zip -s 0 new.zip --out single.zip

# 2. 解压合并后的文件
unzip single.zip

方式二:直接解压

某些版本的 unzip 可能无法直接解压分卷,建议使用 p7zip 或上述合并方法。

3. 加密压缩

使用 -e 参数创建密码保护的 zip 包。

3.1 创建加密包

1
2
# 压缩 file 目录并加密
zip -e -r file.zip file/

执行后系统会提示输入并确认密码。

3.2 解压加密包

1
unzip file.zip

解压时会提示输入密码。