Tar

為什麼 tar 存檔比文本文件大得多,10240 字節?

  • January 12, 2022

我已經檢查了這兩個問題(問題一問題二),但它們對我理解沒有幫助。我有一個file.txt包含 40 行Hello World!字元串的文件。ls -l顯示其大小為 520 字節。現在我將這個文件存檔tar -cvf file.tar file.txt,當我ls -l再次存檔時,我看到它file.tar是 10240 字節。為什麼?

我已經閱讀了一些手冊,並且了解歸檔和壓縮是不同的事情。但是有人可以解釋一下它是如何工作的嗎?

tar預設情況下,檔案的最小大小為 10240 字節;有關詳細資訊,請參閱GNUtar手冊(但這不是 GNU 特定的)。

使用 GNU tar,您可以通過指定不同的塊大小或不同的塊因子或兩者來減少這種情況:

tar -cv -b 1 -f file.tar file.txt

結果仍然會大於file.txt,因為除了自身之外還file.tar儲存了關於的元數據。在大多數情況下,您會看到文件元數據(名稱、大小、時間戳、所有權、權限)的一個塊,然後是文件內容,然後是存檔結束條目的兩個塊,因此最小的存檔包含非零長度文件大小為四個塊(2,048 字節,512 字節塊)。file.txt``file.txt

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