前言
在日常工作中,我们经常会遇到大文件或目录需要压缩后存储、传输的场景,而单个压缩文件过大可能会受到存储介质(如 U 盘、网盘)或传输工具(如邮件、即时通讯软件)的限制。分卷压缩技术可以将大文件拆分为多个小分卷,完美解决这一问题。本文将详细介绍 Linux 系统中最常用的两种压缩格式——ZIP 和 TAR.GZ 的分卷压缩与解压缩方法,适合各类场景下的大文件处理需求。
一、分卷压缩的核心价值
分卷压缩(Split Compression)是将一个大文件或目录拆分为多个指定大小的小文件的技术,核心优势包括:
- 突破存储限制:解决单个文件超过 U 盘、光盘等介质容量的问题;
- 便于传输:避免因单个文件过大导致邮件附件拒收、传输中断等问题;
- 灵活管理:分卷文件可单独复制、备份,某一分卷损坏时只需重新传输该分卷。
Linux 系统中,ZIP 和 TAR.GZ 是最常用的两种压缩格式,前者跨平台兼容性强(支持 Windows、macOS),后者在 Linux 环境下压缩效率更高,下面分别介绍其分卷操作方法。
二、ZIP 格式:跨平台分卷的首选
ZIP 是一种广泛使用的压缩格式,原生支持分卷功能,分卷文件命名规则统一,且解压时无需手动合并,适合需要跨系统传输的场景。
2.1 分卷压缩:将文件拆分为指定大小的分卷
使用 zip 命令进行分卷压缩,核心参数为 -s(指定分卷大小),语法如下:
zip -r -s <分卷大小><输出分卷前缀>.zip <待压缩文件/目录>
-r:递归压缩目录(若压缩单个文件可省略);-s:指定每个分卷的大小,单位支持k(KB)、m(MB)、g(GB);- 输出分卷命名规则:自动生成
.z01、.z02….zip(最后一个分卷为.zip后缀)。
实战示例:将 /data/project 目录分卷压缩为每个 100MB 的 ZIP 分卷
# 进入目标目录(可选,方便后续操作)
cd /data
# 分卷压缩:递归压缩 project 目录,每个分卷 100MB,输出前缀为 project_split
zip -r -s 100m project_split.zip project/
执行后,目录下会生成如下分卷文件:
project_split.z01 # 第 1 个分卷
project_split.z02 # 第 2 个分卷
...
project_split.zip # 最后一个分卷(固定为.zip 后缀)
2.2 分卷解压缩:自动识别分卷,一键解压
ZIP 分卷的解压非常便捷,无需手动合并分卷,只需确保所有分卷在同一目录,直接解压最后一个 .zip 分卷即可:
# 解压分卷(只需指定最后一个.zip 文件)
unzip project_split.zip
解压原理:unzip 命令会自动识别同目录下的 .z01、.z02 等前置分卷,按顺序合并并解压为原始文件/目录。
常见问题排查:


