拡張子「.tar.gz」と「.tgz」の違い
予備知識
| 用語 | 意味 |
|---|---|
| 拡張子 | ファイル名の最後にくっついている、ファイルの種類を表す目印 |
| コマンド | コンピュータに対する「これやれよっ」って命令 |
| アーカイブ | 複数のファイルやフォルダを1つにまとめること |
| アーカイブファイル | 複数のファイルやフォルダを1つにまとめたファイル |
| tar | アーカイブファイルの作り方のひとつ |
| tarファイル | tarコマンドを使って作ったアーカイブファイル |
| 「tar」コマンド | tarファイルを作ったり展開したりするときに使うコマンド |
| 圧縮 | ファイルやフォルダを1つにまとめてキュッと潰すこと |
| 圧縮ファイル | 「1つにまとめてキュっと潰したよ」ファイル |
| gzip | 圧縮ファイルの作り方のひとつ |
| gzipファイル | gzipコマンドで作った圧縮ファイル |
| 「gzip」コマンド | ファイルをgzip形式で圧縮するときに使うコマンド |
それぞれの用語の意味
| 用語 | 意味 |
|---|---|
| .tar.gz | 「tar」コマンドでまとめたアーカイブファイルを「gzip」コマンドで圧縮した圧縮ファイルに付く拡張子 |
| .tgz | 「tar」コマンドでまとめたアーカイブファイルを「gzip」コマンドで圧縮した圧縮ファイルに付く拡張子 |
似ているところ
拡張子としての意味合いは同じです。
どちらも「tar」コマンドでまとめたアーカイブファイルを「gzip」コマンドで圧縮した圧縮ファイルに付く拡張子です。
違うところ
身も蓋もないことを言うと、見た目が違うだけです。
あとの使い分けは慣習や気分です。
実は「tar」コマンドでまとめたアーカイブファイルを「gzip」コマンドで圧縮した圧縮ファイルを作るやり方は2つあります。
1つ目のやり方は
1.「tar」コマンドでアーカイブファイルを作る
2.「gzip」コマンドで圧縮する
の2回の手順を踏むやり方です。

2つ目のやり方は
1.「z」オプション付きで「tar」コマンドを実行しアーカイブファイルを圧縮したファイルを作る
の1回の手順で一気に終わらせるやり方です。

1つ目のやり方(2回の手順を踏むやり方)でやると、拡張子は「.tar.gz」になることが多いはずです。
特別な指定をしないかぎり「.tgz」にはなりません。
2つ目のやり方(1回の手順で一気に終わらせるやり方)では、できあがるファイルのファイル名を指定します。
「拡張子は3文字にするのが基本だよね!」な意識がある人は拡張子を「.tgz」にするはずです。
もちろん「.tar.gz」にもできますけどね。
せっかくなので、実際の例を挙げて見てみましょう。
ここに中身が文字だけのファイル「hoge1.txt」「hoge2.txt」があったとします。

この2つのファイルをtarコマンドで1つにまとめて「hoge.tar」を作りました。
実行するコマンドは、例えば
tar cvf hoge.tar hoge1.txt hoge2.txt
です。
これで「hoge1.txt」と「hoge2.txt」を1つにまとめたファイル「hoge.tar」ができあがります。

次に「hoge.tar」を「gzip」コマンドで圧縮します。
実行するコマンドは、例えば
gzip hoge.tar
です。
そうすると「hoge.tar」を圧縮したファイル「hoge.tar.gz」ができあがります。

これが1つ目のやり方(2回の手順を踏むやり方)です。
ファイルの拡張子は「.tar.gz」になりました。
次に2つ目のやり方(1回の手順で一気に終わらせるやり方)を説明します。
「tar」コマンドには「z」というオプションがあります。
このオプションを指定すると、tarファイルを作ると同時に圧縮してくれるのです。
tarコマンド実行
↓
gzipコマンド実行
を一度にやってくれるイメージです。
拡張子「.tgz」は、このやり方で圧縮ファイルを作る場合に登場します。
実行するコマンドは、例えば
tar cvfz hoge.tgz hoge1.txt hoge2.txt
です。
これで「hoge1.txt」「hoge2.txt」を1つにまとめたファイル「hoge.tgz」が1回のコマンド実行で、できあがります。

実際のところ、ファイル名や拡張子は好きに決められます。
その気になれば、できあがるファイルの拡張子を「.tar.gz」にすることも可能です。
tar cvfz hoge.tar.gz hoge1.txt hoge2.txt
と書けば、ファイルの拡張子は「.tar.gz」になります。
とはいえ「.tar.gz」と打つよりも「.tgz」と打つ方が少しだけ楽ですよね。
よって「z」オプション付きでtarコマンドを実行するときは、拡張子を「.tgz」にするのです……と、私は思っています。
個人的な使い分け
「パッと見で中身がイメージしやすいから」と「ファイルを検索するときに『.tar』で引っかかるから」という2つの理由で「.tar.gz」を使うようにしています。
拡張子「.tgz」は使いません。
備考
個人的には、拡張子「.tgz」は「『.tar.gz』なんて、長ったらしくて面倒くさいんだよ!そもそも拡張子ってのは3文字にするのが慣例だろ!もう『.tgz』で良いんじゃね?」なノリで生まれた拡張子であろうと推測しています。






