在 Linux 中,zip
命令是一个常见的压缩工具,支持将文件或目录压缩成 .zip
格式。有时,单个压缩文件过大,可能需要将其拆分成多个小文件。本文介绍如何使用 zip
命令实现分卷压缩,以及如何解压缩这些分卷文件。
1. 使用 zip
进行分卷压缩
要将文件压缩成多个部分,可以使用 -s
选项来指定每个压缩文件的大小。例如,下面的命令会将 file1
、file2
和 file3
进行压缩,并将每个压缩文件的大小限制为 100MB:
zip -s 100m archive.zip file1 file2 file3
参数解析:
-s 100m
:指定每个分卷的最大大小为 100MB。archive.zip
:压缩文件的名称。file1 file2 file3
:要压缩的多个文件。
执行后,zip
会自动创建多个文件,例如:
archive.zip archive.z01 archive.z02 ...
这些文件共同组成完整的压缩包。
2. 如何解压分卷压缩文件
解压缩分卷文件时,只需要解压 .zip
主文件,unzip
命令会自动读取所有分卷:
unzip archive.zip
注意:
- 所有的分卷文件(
.zip
,.z01
,.z02
等)必须在同一目录下,否则unzip
无法正确提取文件。
3. 适用场景
- 大文件存储:当目标存储设备(如 FAT32 格式的 U 盘)对单个文件的大小有限制时,可以使用分卷压缩。
- 网络传输:在上传或发送文件时,可以将其拆分成小部分,方便传输。
- 备份数据:有些备份系统不支持超大文件,可以使用分卷压缩进行存储。
4. 其他实用技巧
- 指定压缩级别:使用
-9
选项可以提高压缩率(但会稍微增加 CPU 计算时间):
zip -9 -s 100m archive.zip file1 file2 file3
- 压缩整个目录:
zip -r -s 500m archive.zip my_folder
- 这里
-r
选项用于递归压缩整个目录。
总结
zip
命令的 -s
选项让我们可以轻松地将文件压缩成多个部分,适用于大文件存储、网络传输等场景。解压时,只需执行 unzip archive.zip
,系统会自动处理所有分卷文件,恢复完整的数据。希望本文对你有所帮助!