Answers:
您可以使用“ --split-size ”选项使用“ zip ”本身的“ split archive ”功能。
从“ zip”手册页(“ man zip
”):
(...)
拆分存档的一种用途是将大型存档存储在多个可移动
媒体上。对于具有20个分割文件的分割存档,文件通常
被命名(用档案名称替换ARCHIVE)
ARCHIVE.z01,ARCHIVE.z02,...,ARCHIVE.z19,ARCHIVE.zip。请注意,
最后一个文件是.zip文件。(...)
-s splitsize
--split-size splitsize分割大小是一个数字,可以选择后面跟一个乘数。
当前数字必须是整数。乘数
当前可以是k(千字节),m(兆字节),g(千兆字节)
或t(兆字节)之一。由于最小拆分大小为64k,因此
不带乘数的数字默认为兆字节。例如,要创建
一个名为foo的拆分归档文件,其中
带有670 MB拆分内容的bar 目录的内容对于
在CD上刻录可能很有用,请使用以下命令:zip -s 670m -r foo bar
可用于。
因此,要创建一个拆分的zip归档文件,您可以执行以下操作(“ -r
”是“递归”开关,以包括目录的子目录):
$ zip -r -s 10m archive.zip directory/
要解压缩文件,“ zip
”联机帮助页说明您应该使用“ -s 0`”开关:
(...)
zip -s 0 split.zip --out unsplit.zip
会将拆分的存档转换为单文件存档。
(...)
因此,您首先使用“ -s 0”开关“取消分割” ZIP文件:
$ zip -s 0 archive.zip --out unsplit.zip
...然后解压缩未拆分的文件:
$ unzip unsplit.zip
这是我对5GB文件进行操作的方式(按OP要求分成1GB和10MB)...
示例:将5GB文件拆分为1GB文件以复制到FAT32 USB(文件名“ FIVE_GB_FILE.ISO”)
步骤1:压缩文件(不压缩,与源目录相同)
zip -0 FIVE_GB_FILE.ZIP FIVE_GB_FILE.ISO
步骤2:将5GB的zip文件拆分为1GB的zip文件
zip -s 1000m SPLIT_5GB_FILES FIVE_GB_FILE.ZIP
瞧,您应该拥有以下1GB的文件(和原始文件以及第1步中的zip文件)
SPLIT_5GB_FILES.zip
SPLIT_5GB_FILES.Z01
SPLIT_5GB_FILES.Z02
SPLIT_5GB_FILES.Z03
SPLIT_5GB_FILES.Z04