TAR.GZ 壓縮工具

完全在瀏覽器中將多個檔案或資料夾打包為 tar 後再用 gzip 壓縮,可按需下載 .tar.gz・.tgz・.tar(不壓縮)・.gz(單檔案)等多種格式。適合上傳到 Linux 伺服器。檔案內容絕不會上傳到伺服器。

TAR.GZ 壓縮小技巧

  • 整體拖入資料夾後,會保留原有的目錄結構打包進 tar。如果單獨選擇檔案,生成的壓縮包則沒有目錄結構,是扁平的。
  • .tar.gz 與 .tgz 內容完全相同,只是副檔名不同。如果要提供給 npm 軟體包等要求 .tgz 副檔名的工具使用,請選擇 .tgz。
  • 選擇".tar(不壓縮)"後會跳過 gzip 壓縮步驟。對於圖片、影片、ZIP 等本身已經壓縮過的檔案,壓縮前後體積幾乎不變,此時不壓縮反而處理更快。
  • .gz 是不經過 tar、直接壓縮單個檔案的傳統格式。只有在僅需壓縮 1 個檔案(例如單個日誌檔案)時才能選擇。
  • 打包大量檔案或體積很大的檔案時,由於處理過程佔用瀏覽器記憶體,可能會比較耗時,在某些環境下甚至會失敗。如果總體積達到數百 MB 至數 GB,建議分成幾批分別壓縮。

常見問題

不會。壓縮處理完全在瀏覽器內完成,檔案內容絕不會發送到伺服器。

內容完全相同。.tgz 是早期作業系統要求檔名不超過 8 個字元時代遺留下來的寫法,只是一個更短的別名。如果對方或所用工具沒有特別要求,選擇常見的 .tar.gz 即可。

不可以,因為 tar・gzip 格式本身並沒有密碼保護機制。如果需要密碼保護,請使用姊妹工具 ZIP 壓縮工具。

由於跳過了 gzip 壓縮處理,速度更快。如果要打包的是 JPEG、MP4、ZIP 等已經壓縮過的檔案,壓縮前後體積幾乎不變,此時選擇不壓縮更有利。

請使用同屬"檔案操作"分類下的"GZ・TAR.GZ 解壓工具",支援 .gz・.tar.gz・.tgz・.tar 全部格式。
ツールくん

閒話 ― tar 的 512 位元組與 PAX 擴充套件頭

tar 這種檔案格式最初是為 20 世紀 70 年代的磁帶裝置(Tape ARchive)設計的,光是名字就帶著一股老式機房的氣息。也正因為脫胎於磁帶這種只能順序讀寫的介質,資料才會以 512 位元組為單位劃分成一個個"塊";如果檔案內容不是 512 位元組的整數倍,末尾就會補 0 填充,湊齊到下一個塊邊界。正是這種樸素又固執的結構,讓 tar 至今仍然是一種易於實現、又與流式處理天然契合的格式。

不過舊式的 ustar 格式頭部中,用於存放檔名的欄位只有短短 100 位元組,這在資料夾層級很深或名稱很長的今天很容易超標。為了繞開這個歷史遺留的限制,人們後來設計出了 PAX 擴充套件頭:在正式條目之前插入一個特殊的塊,專門用來記錄"真正的檔名",從而變相突破了原本 100 位元組的天花板。本工具在遇到超過 100 位元組的路徑時,也會自動附加 PAX 擴充套件頭,確保長路徑不會被截斷。

與 ZIP 不同,tar 和 gzip 的組合並沒有密碼保護機制,這其實是兩者"各司其職"的設計哲學所致——tar 只負責"打包",gzip 只負責"壓縮",誰都沒有把加密這件事納入自己的職責範圍。如果需要分發機密性較高的檔案,建議改用支援加密的姊妹工具 ZIP 壓縮工具。