|
|
1
45
您会因为文件系统的工作方式而有所不同。 简而言之,你的磁盘是由集群组成的。每个集群都有一个固定的大小,比如4千字节。如果你在这样的集群中存储一个1kb的文件,那么3kb将不会被使用。确切的细节因您使用的文件系统类型而异,但大多数文件系统都是这样工作的。 3kb的浪费空间对于单个文件来说并不多,但如果你有很多非常小的文件,浪费可能会成为磁盘使用量的重要组成部分。 在tar存档中,文件不是存储在集群中,而是一个接一个地存储。这就是差异所在。 |
|
|
2
4
由于不知道你使用的是什么tar或什么样的Unix系统,我的猜测是:旧代码包含许多较小的文件,这些文件本身使用磁盘空间效率低下,因为磁盘空间是由某种块分配的,而不是逐字节分配的。在tar文件中,它们被连接在一起,并最大限度地利用分配给它们的磁盘空间。 |
|
|
3
3
在MacOSX 10.5.6版本中:
如您所见,即使是一个2字节的文件也需要整个4kb的块。有些文件系统通过以下方式避免了这种空间浪费 block suballocation . |
|
|
4
3
有两种可能性。 小文件
最有可能的是
is not 的常用口语形式
As Nils Pipenbrinck wrote
,
要查看文件的逻辑大小,请使用
如果您提取的副本中的稀疏信息不知何故丢失(例如,如果您将tarball提取到不支持稀疏文件的文件系统上,或者如果它被压缩然后解压缩,等等),那么
|
|
|
5
0
du计算磁盘块,而不是文件大小duder。 |
|
|
user2373210 · Untar文件不到一天 9 年前 |
|
|
NSTNF · 使用golang io的错误。管道到tar文件 9 年前 |
|
|
Van Peer · 查询tar和。快照目录 9 年前 |
|
|
Tom · 比较文件夹,创建差异存档 9 年前 |
|
|
Sean · 在Python中将目录传递给变量 9 年前 |
|
|
DenCowboy · Docker卷:备份 10 年前 |
|
|
jzg.dev · 创建多个tar。来自多个目录的gz存档 10 年前 |