使用 7-Zip 拆分为多个 .ZIP 文件

Kon*_*ong 14 disk-space 7-zip

如果我有一个 100 GB 的文件夹并拆分 ZIP,如果我将其拆分为 100 个 .ZIP 文件(每个 1 GB)或 10 个 .ZIP 文件(每个 10 GB),消耗的磁盘空间是否有区别?

100 个 1 GB 的 .ZIP 文件是否比 10 个 10 GB 的 .ZIP 文件占用更多空间?

Lay*_*rdo 21

让我们一探究竟吧!

100 MB 文件(27 个):

7z a -tzip -v100M ./100m/archive ./kali-linux-xfce-2018.2-amd64.iso

$ du ./100m/
2677884 ./100m/
Run Code Online (Sandbox Code Playgroud)

10 MB 文件(262 件):

7z a -tzip -v10M ./10m/archive ./kali-linux-xfce-2018.2-amd64.iso

$ du ./10m/
2677908 ./10m
Run Code Online (Sandbox Code Playgroud)

结果:10 MB 的拆分存档占用了额外的 24 KB。所以是的,有区别,100 个 1 GB 文件将比 10 个 10 GB 文件占用更多空间。

不过差别似乎可以忽略不计。我会选择对你来说更方便的那个。

  • `du` 默认不输出字节大小(除非你的 270M 文件变成了 2,677,908 字节)。它确实显示文件的磁盘大小,这可能与实际数据大小不同(可能适用于上传或存储在其他文件系统上) (4认同)

AFH*_*AFH 15

每个文件在文件结束后都有一个未使用的逻辑扇区空间的文件系统开销,但如果分割大小是逻辑扇区大小的倍数(不一定适用于我下面的示例),则可以消除这种开销。

额外的目录条目可能会使用额外的字节,但除非目录现在占用额外的逻辑扇区,否则这些字节不会被计算在内。

拆分文件的内容与具有相同拆分大小的二进制拆分器程序创建的文件相同。

我通过在 7+MB 文件上使用 GUI 版本在 Linux 上验证了这些,使用 7-Zip ( File.7z.00?)给出了 8 个 1MB 大小的拆分文件,然后创建了一个完整的存档 ( Full.7z),我将其拆分为:-

7z -v1000000 a File;                                         # Create split volumes File.7z.00?
7z a Full File;                                              # Create full archive Full.7z
split -b 1000000 -a 3 --numeric-suffixes=1 Full.7z Full.7z.; # Split full archive into Full.7z.00?
for f in {001..008}; do cmp Full.7z.$f File.7z.$f; done;     # Compare splits with 7z volumes
Run Code Online (Sandbox Code Playgroud)

要在另一个操作系统上进行测试,您可能需要下载或编写适当的拆分器程序。