2014-01-07 70 views
2

我有一個20Gb tar.gz文件,主要包含壓縮的文本和圖像文件。我想知道(沒有解壓縮文件)我的磁盤上需要多少空間。我怎樣才能做出估計?壓縮比

回答

2

命令

gzip --list filename.gz 

會告訴你原始的未壓縮文件的大小,除其他事項外,雖然沒有在原來的大小4GB以上,像@MarkAdler指出。

+1

唉,在這種情況下不起作用。 gzip會告訴你未壓縮的大小_modulo 2^32_。因此,20 GB的.gz會報告小於4 GB的未壓縮尺寸,這顯然是錯誤的。 –

1

在這種情況下,您需要解壓縮.gz文件。但是您不需要存儲它或佔用磁盤上的所有空間。

使用gzip --list,正如另一個答案中所建議的,將不起作用。 gzip文件格式將未壓縮的長度存儲在最後的四個字節中,所以這隻對那些您知道其他方式的文件具有小於4 GB的壓縮長度有用。在這種情況下,您肯定知道這是不是的情況,因爲壓縮的大小是20 GB。所以gzip報告的長度沒用。

要獲得未壓縮的長度,請將gzip解壓縮的輸出傳遞給將計算字節數的內容,如wc。例如:

gzip -dc < foo.tar.gz | wc -c