系统相关
首页 > 系统相关> > linux – .tar.gz和第一个gz然后tar的区别

linux – .tar.gz和第一个gz然后tar的区别

作者:互联网

我制作了两个我的文件夹的压缩副本,首先使用命令tar czf dir.tar.gz dir
这给了我一个大小约16kb的档案.然后我尝试了另一种方法,首先我将dir中的所有文件枪杀然后使用

gzip ./dir/*
tar cf dir.tar dir/*.gz

但第二种方法给了我dir.tar的大小〜30kb(几乎是两倍).为什么这么大的差异呢?

解决方法:

因为zip过程通常在大样本上比在小文件上更有效.例如,您已经压缩了100个1ko文件.每个文件都有一定的压缩,加上overhead of the gzip format.

file1.tar -> files1.tar.gz  (admit 30 bytes of headers/footers)
file2.tar -> files2.tar.gz  (admit 30 bytes of headers/footers)
...
file100.tar -> files100.tar.gz  (admit 30 bytes of headers/footers)
------------------------------
30*100 = 3ko of overhead.

但是如果你尝试压缩100ko的tar文件(包含你的100个文件),gzip格式的开销只会增加一次(而不是100次),压缩会更好)

标签:linux,tar,gunzip
来源: https://codeday.me/bug/20190728/1563632.html