DESIGN / CODE / INFRA / AI

解説

tarとgzipは何が違う?ファイルをまとめることと圧縮を分けて試そう

サーバーの手順で見かける.tar.gz。名前が二つ付いているのは、まとめる処理と圧縮する処理が組み合わされているためだよ。

tarとgzipは何が違う?ファイルをまとめることと圧縮を分けて試そう
保存リストを見る →
この記事の道しるべ 5項目

サーバーの手順で見かける.tar.gz。名前が二つ付いているのは、まとめる処理と圧縮する処理が組み合わされているためだよ。

このページはGNU tarとgzipの基本を、練習用のファイルだけで試す。OSや実装によってオプションが異なる場合があるので、ここではGNU/Linuxを対象にする。

アーカイブと圧縮

アーカイブは、複数のファイルやフォルダーなどを一つへまとめること。圧縮は、内容を復元できる形で表現し、容量を減らすことを目指す処理だよ。

tarはまとめるために使い、gzipは圧縮に使う。.tar.gzは、tarのアーカイブをgzipで圧縮した形式としてよく使われる。名前だけを書き換えても形式は変わらない。

作ったものを先に一覧で読む

空の作業場所で実行する。すでに同名のフォルダーやファイルがあれば、別の場所を使おう。

mkdir archive-practice
cd archive-practice
mkdir inputs output
printf 'sample\n' > inputs/note.txt
tar -czf practice.tar.gz inputs
tar -tzf practice.tar.gz

-cは作成、-zはgzip、-fは対象ファイルの指定。この例の-tは中の名前を一覧にする確認で、まだ展開しない。inputsと、その中のnote.txtが見えることを確かめよう。

空の場所へ展開する

tar -xzf practice.tar.gz -C output
cat output/inputs/note.txt

-xは取り出す操作、-Cは展開先を指定する。この練習では、空のoutputへ取り出し、sampleと読めることを確認したよ。作業中のフォルダーへ無条件に展開すると、同名のファイルなどへ影響する場合があるので、対象を分けることが大切。

一つのファイルをgzipで圧縮するなら

gzip -c inputs/note.txt > note.txt.gz
gzip -dc note.txt.gz

-cは結果を標準出力へ出すため、この例では元のnote.txtを残して圧縮結果を別のファイルへ保存できる。-dは展開に使う。最後にsampleと表示されるよ。

小さいデータでは、圧縮して必ず容量が小さくなるとは限らない。元の形式や管理情報も影響するんだ。

最初の形式の違いは拡張子の基本、ブラウザでよく扱う圧縮はZIPの展開へ。

参照した公式資料

確認日:2026年10月24日。

参考・出典

公開と変更の記録
  • :初回公開

日時は日本時間です。記載のある変更は、確認できた編集記録に基づきます。更新日の違いだけから変更内容を推測して載せることはありません。

更新・訂正の方針 →

みんなのコメント 0

感想や、試してみたことを聞かせてね。コメント・返信は承認後に公開されます。

最初のコメントをどうぞ。