【发布时间】:2019-03-12 22:50:28
【问题描述】:
我正在阅读一篇关于difference between tar and zip and gz files 的文章。
我很难理解作者是如何提出 1MB 作为 tar 存档大小的:
要记住的重要一点是,纯 tar 文件只是数据未压缩的存档。换句话说,如果你 tar 100 个 50kB 的文件,你最终会得到一个大小约为 5000kB 的档案。您可以期望单独使用 tar 的唯一好处是避免文件系统浪费空间,因为它们中的大多数以某种粒度分配空间(例如,在我的系统上,一个字节长的文件使用 4kB 的磁盘空间,1000他们将使用 4MB,但相应的 tar 存档“仅”1MB)。
存档的大小不应该只占用 1KB 左右吗?这是我的推理:
如果你节省了文件系统节省的额外空间,那么 1000 个文件 X 每个文件 1 字节应该只消耗 1000 字节或 1 KB。所以 tar 存档的大小应该在 1KB 左右。为什么是1MB。
我也在我的系统(MACOSX 终端)上测试过这样的场景:
mkdir test
cd test
for i in {1..1000}; do echo "" > $i.txt; done
cd ..
tar -cf tarredFile.tar test
ls -l tarredFile.tar
即使文件系统显示 1MB 用于 tar 存档。总之,我绝对知道我的推理是不正确的,但我不知道为什么。我忽略了什么?
【问题讨论】:
标签: compression tar