当前位置:首页 > 主机动态 > 正文

zip怎样实现分包压缩?

使用zip命令的 -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 命令支持此功能,以下是具体操作步骤:


分包压缩操作步骤

  1. 基本命令格式

    • -s:指定每个分卷的最大体积(单位:KB/MB/GB)。
    • --out:设置分卷名称前缀(实际生成文件名为 前缀.z01、前缀.z02…前缀.zip)。
  2. 操作示例

    场景:将 large_file.iso(20GB)分割为每个 2GB 的分卷包

    zip怎样实现分包压缩? 第1张

    zip -s 2000m large_file_split.zip large_file.iso --out part

    生成文件

    • part.z01(第1卷,2GB)
    • part.z02(第2卷,2GB)
    • part.zip(最后1卷,剩余部分)
    • 关键参数说明

      zip怎样实现分包压缩? 第2张

      • 分卷大小单位
        • k:千字节(如 500k)
        • m:兆字节(如 2g)
        • g:千兆字节(如 1g)
        • 目录压缩:添加 -r 参数递归压缩文件夹 zip -r -s 500m backup.zip /path/to/folder --out backup_part
        • 解压分卷压缩包的方法

          1. 合并并解压

            确保所有分卷(.z01、.z02….zip)在同一目录,执行:

            zip -s 0 part.zip --out full.zip # 合并分卷为完整包 unzip full.zip # 解压完整包

            注:-s 0 表示关闭分卷模式,将分卷合并为 full.zip。

          2. 直接解压(部分系统支持)

            zip怎样实现分包压缩? 第3张

            unzip part.zip # 自动识别并合并分卷


          注意事项

          1. 命名规则

            • 分卷名称必须按 前缀.z01、前缀.z02…前缀.zip 顺序排列,不可重命名。
            • 合并时需保留原始文件名,否则会报错。
          2. 分卷大小限制

            • 单个分卷最大不超过 4GB(受 ZIP 格式限制)。
            • 分卷总数不可超过 999(.z01 至 .z99 + .zip)。
          3. 跨平台兼容性

            • 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 及以上版本)。

0