Gzip

壓縮級別 gz 和 xz

  • December 26, 2015

為什麼這些命令行沒有任何區別(輸出文件大小)?

Gzip 標準輸入

即使壓縮級別不同,輸出文件也具有相同的文件大小

tar ... | gzip -c -1 > ...
tar ... | gzip -c -9 > ...

xz 標準輸入

即使壓縮級別不同,輸出文件也具有相同的文件大小

tar ... | xz -c -1 > ...
tar ... | xz -c -9 > ...

壓縮包

即使壓縮級別不同,輸出文件也具有相同的文件大小

GZ_OPT=-1 tar -zcf ...
GZ_OPT=-9 tar -zcf ...

xz

即使壓縮級別不同,輸出文件也具有相同的文件大小

XZ_OPT=-1 tar -Jcf ...
XZ_OPT=-9 tar -Jcf ...

gzip 壓縮級別不保證較高的壓縮級別會導致較小的輸出。事實上,我在 BUGS 部分的man gzip筆記中指出,在某些情況下可能正好相反。

對於 xz(和 bzip2),這有更多的記錄,因為根據手冊,數字級別控制壓縮器使用的記憶體量。使用更多記憶體應該可以進行更好的壓縮,但這也不能保證。

特別是如果您的測試數據很小,那麼具有相同大小的輸出對我來說並不奇怪。

引用自:https://unix.stackexchange.com/questions/251539