使用 tar gzip 或 zip 压缩的文件大小略有相同

Posted

技术标签:

【中文标题】使用 tar gzip 或 zip 压缩的文件大小略有相同【英文标题】:File compressed with tar gzip or zip has slightly the same size 【发布时间】:2016-10-19 19:49:09 【问题描述】:

我尝试用不同的压缩类型压缩同一个文件:

tar cjf dump.sql.tar.bz dump.sql
tar czf dump.sql.tar.gz dump.sql
zip -r dump.sql.zip dump.sql

结果:

size     file
79968725 dump.sql            ~77MB
 9846256 dump.sql.tar.bz     ~9.4MB
13863797 dump.sql.tar.gz     ~14MB
13863826 dump.sql.zip        ~14MB

最好的压缩来自 bzip2 文件。无论如何,原始文件是用 bzip2 压缩的,但它的大小约为 7.7MB。如何获得这种级别的压缩?

是否有其他压缩类型/选项可以获得更好的性能?

另外,为什么 gzip 压缩文件的大小与压缩文件的大小略有相同?我认为 gzip 的压缩率比 zip 好。我错过了什么吗?

欢迎任何提示/提示,我们将不胜感激。

谢谢。

【问题讨论】:

【参考方案1】:

几乎所有的压缩器(例如 gz、bz2、zip 和 xz)都允许您选择压缩级别(例如,通常从 1 到 9)。它压缩得越快,压缩比就越低。速度越慢,您获得的压缩效果就越好。 我所知道的最好的无损压缩器是 xz。它应该给你比 bz2 更好的压缩:

vfcJ dump.sql.tar.xz dump.sql

你得到的文件大小是多少?

【讨论】:

感谢您的回答。大小为 7.7MB。不知道xz 压缩。我会挖掘它。 对于 xz 的最高压缩级别,请使用:tar cvf - dump.sql | xz -9 -e - > dump.sql.tar.xz

以上是关于使用 tar gzip 或 zip 压缩的文件大小略有相同的主要内容,如果未能解决你的问题,请参考以下文章

Linux的压缩命令(tar,gzip,zip)

文件压缩

Linux压缩和解压包常用命令:gzip tar zip/unzip命令使用示例

文件压缩打包

linux文将于目录的压缩和解压缩命令:gzip压缩文件

tar与压缩详解