
我們通常知道壓縮是為了節省空間或傳輸時間而減少資料的大小,當我提取壓縮檔案時,我應該期望更大的大小。我下載了一個 tar 格式的檔案(95KB),當我解壓縮它時,它的大小減小了(5.7KB),在該檔案下還有一些其他檔案現在甚至顯示 0 位元組。可能是什麼原因呢。
答案1
Tar 格式未壓縮。但它確實在存檔中每個檔案或目錄的開頭添加了標頭。 tar 使用標頭來告訴它檔案名稱、時間戳記等。每個標頭通常為 512 字節,但如果檔案名稱長於 100 個字符,則可能會更大。 tar 檔案的末尾由空白標頭標記。這些標題通常會解釋存檔和從中提取的所有內容之間的大小差異。
也可能存在無法透過 tar 標頭的大小來解釋的差異,但它們大多是極端情況,並且在不查看 tar 檔案或至少查看它的清單的情況下很難診斷。對於巨大差異(一個巨大的 tar 檔案但從中提取的很少)的一種可能解釋是,如果存檔包含同一檔案的大量副本。如果有人不斷在末尾添加新版本(也許作為備份策略),則可能會發生這種情況。 tar 提取每次都會簡單地覆蓋同一個文件,而不使用更多空間。