-s
参数指定分卷大小进行分包压缩,命令格式:zip -s 分卷大小 -r 输出文件名.zip 要压缩的文件或目录
,zip -s 100m -r archive.zip myfolder/
会将myfolder文件夹分包成每个100MB的压缩文件(如archive.z01, archive.z02…archive.zip),解压时需所有分卷在同一目录,直接解压.zip文件即可自动合并。使用 Zip 命令分包压缩的详细教程
分包压缩(分卷压缩)是将大文件分割成多个小体积压缩包的技术,常用于邮件附件传输、FTP上传或绕过存储设备容量限制,Linux/macOS 系统内置的 zip
命令支持此功能,以下是具体操作步骤:
分包压缩操作步骤
-
基本命令格式
zip -s <分卷大小> <输出文件名>.zip <要压缩的文件或目录> --out <分卷前缀>
-s
:指定每个分卷的最大体积(单位:KB/MB/GB)。--out
:设置分卷名称前缀(实际生成文件名为前缀.z01
、前缀.z02
…前缀.zip
)。
-
操作示例
场景:将large_file.iso
(20GB)分割为每个 2GB 的分卷包zip -s 2000m large_file_split.zip large_file.iso --out part
生成文件:
part.z01
(第1卷,2GB)part.z02
(第2卷,2GB)part.zip
(最后1卷,剩余部分)
-
关键参数说明
- 分卷大小单位:
k
:千字节(如500k
)m
:兆字节(如2g
)g
:千兆字节(如1g
)
- 目录压缩:添加
-r
参数递归压缩文件夹zip -r -s 500m backup.zip /path/to/folder --out backup_part
- 分卷大小单位:
解压分卷压缩包的方法
-
合并并解压
确保所有分卷(.z01
、.z02
….zip
)在同一目录,执行:zip -s 0 part.zip --out full.zip # 合并分卷为完整包 unzip full.zip # 解压完整包
注:
-s 0
表示关闭分卷模式,将分卷合并为full.zip
。 -
直接解压(部分系统支持)
unzip part.zip # 自动识别并合并分卷
注意事项
-
命名规则:
- 分卷名称必须按
前缀.z01
、前缀.z02
…前缀.zip
顺序排列,不可重命名。 - 合并时需保留原始文件名,否则会报错。
- 分卷名称必须按
-
分卷大小限制:
- 单个分卷最大不超过 4GB(受 ZIP 格式限制)。
- 分卷总数不可超过 999(
.z01
至.z99
+.zip
)。
-
跨平台兼容性:
- Windows 用户需安装 7-Zip 或 WinRAR 解压分卷包。
- 若需 Windows 兼容分卷,建议使用
split
命令分割后压缩:split -b 2000m large_file.iso large_file_part_ # 分割文件 zip part.zip large_file_part_* # 压缩分割块
适用场景总结
- 大文件传输:避免邮件/网盘的单文件大小限制。
- 备份拆分:将备份数据分割存储到多个设备(如 U 盘、光盘)。
- 网络传输优化:分卷上传下载更稳定,失败后可断点续传。
引用说明参考自 Linux
zip
官方手册(man zip
)及 Info-ZIP 项目文档,确保方法经过实践验证,建议通过zip --version
确认您的系统支持分卷参数(需 Info-ZIP 3.0 及以上版本)。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/21892.html