TAR.GZ 壓縮工具

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

什麼是 TAR.GZ 建立

TAR.GZ 建立是可把多個檔案或資料夾彙整為一個 tar.gz(或 tgz・tar・gz)檔案的工具。使用瀏覽器標準內建的 Compression Streams API,全部處理都在裝置內完成,檔案內容不會上傳至外部伺服器。即便是機密性較高的資料或含有個人資訊的檔案,也可安心壓縮。

輸出格式可從四種中選擇。.tar.gz 是先用 tar 彙整再以 gzip 壓縮的最常見格式,廣泛用於向 Linux 伺服器上傳與散布。.tgz 的內容與 .tar.gz 完全相同,只是副檔名較短的別名。.tar 為跳過壓縮的無壓縮格式,.gz 則不經 tar、直接壓縮單一檔案,可依用途區分使用。

TAR.GZ 建立的使用方式

  1. 新增檔案或資料夾 把檔案或資料夾拖放到放置區域,或透過「選擇檔案」「選擇資料夾」按鈕新增。
  2. 確認並輸入檔名 在輸入欄中確認所輸出壓縮檔的檔名,並視需要改為易於辨識的名稱。
  3. 選擇輸出格式 在 .tar.gz・.tgz・.tar・.gz 中選擇契合用途的格式。僅當檔案為1個時才可選擇 .gz。
  4. 建立壓縮檔並下載 按下「建立壓縮檔並下載」按鈕後,會在瀏覽器內執行壓縮處理並自動下載。

用好本工具的小技巧

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

TAR.GZ 建立的應用情境

向 Linux 伺服器上傳前的準備

把網站或專案資料夾整體打包為 tar.gz,即可讓經由 SSH 的上傳與部署作業只需傳輸一個檔案。

準備 npm 形式的 .tgz 套件

可僅用瀏覽器,為像 npm 套件那樣以 .tgz 副檔名為前提的工具製作散布物,而無須使用專用 CLI。

日誌檔案的集中保管

把分散的每日日誌等彙整為一個 tar.gz,即可在保管或交接時減少檔案數量。

不經伺服器的多檔案交付

無須在郵件或聊天中附上多個檔案,可彙整為一個壓縮檔;而且壓縮處理全部在手邊裝置完成,適合不願把內容交給外部伺服器的場合。

保留資料夾結構的備份

整個資料夾拖放即可在保留原有階層結構的狀態下打包,適合希望原樣保存設定檔群等結構的情形。

用語集

tar
用於把多個檔案彙整為一個(進行封存)的格式與指令。為 Tape ARchive 的縮寫,其本身不具備壓縮功能。
gzip
用於壓縮資料的格式與指令。把 tar 彙整後的檔案用 gzip 壓縮即成為 tar.gz。
.tgz
賦予與 .tar.gz 內容完全相同之壓縮檔的、較短別名的副檔名。是需要8字元以內檔名的舊環境遺留。
PAX 標頭
因舊 tar 格式的檔名最多只能存放100位元組,為處理較長路徑而設計的擴充標頭。
Compression Streams API
瀏覽器標準內建、可從 JavaScript 直接處理 gzip 等壓縮與解壓的 Web API。無須經過伺服器,僅在用戶端即可完成壓縮處理。
ustar 格式
由 POSIX 標準化的 tar 標頭格式。檔名欄位被限制為100位元組,超出部分以 PAX 標頭補足。

常見問題

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

內容完全相同。.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 壓縮工具。