【コピペで即解凍】tar.gz/tgz/zipファイルの解凍コマンド早見表(Linux/Mac/WSL対応)

実務レシピ

.tar.gz.tgz.zip などの圧縮アーカイブファイルを今すぐ解凍したい場合は、以下の1行コマンドをコピーして実行してください。Linux、macOS、WSL(Windows)のいずれの環境でもそのまま動作します。

  1. 【結論】今すぐ使える!拡張子別・一発解凍コマンド早見表
  2. 拡張子別の解凍・圧縮コマンド対比表
  3. tgzファイルとは?tar.gzとの違い
  4. tar.gz / tgz の解凍・圧縮コマンドとオプション詳細
    1. 1. 基本の解凍(カレントディレクトリへ展開)
    2. 2. 解凍先ディレクトリを指定する(-C オプション)
    3. 3. 解凍前に中身のファイル一覧を確認する(-tf オプション)
    4. 4. アーカイブ内の一部のファイルだけを抽出して解凍する
    5. 5. tar.gz アーカイブの作成(圧縮)
    6. tarオプションの意味早見表
  5. zip形式の解凍・圧縮(zip / unzip)
    1. 1. zipファイルの解凍(unzip)
    2. 2. zipファイルの作成(zip)
  6. 最新・特殊なアーカイブ形式(zstd / cpio / ar / xz / bz2)
    1. 1. zstd(Zstandard):超高速&高圧縮率の次世代フォーマット
    2. 2. cpio:RPMパッケージやinitramfsで使われるアーカイブ
    3. 3. tar.bz2 / tar.xz(bzip2 / xz)
  7. 大容量アーカイブファイルの分割・結合手順(split / cat)
    1. 1. split によるアーカイブの分割
    2. 2. cat による分割ファイルの結合と解凍
  8. OS別の解凍手順(Linux / macOS / WSL・Windows)
    1. 1. Linux環境での解凍
    2. 2. macOS環境での解凍
    3. 3. WSL(Windows Subsystem for Linux)および Windowsでの解凍
  9. よくあるエラーと解決策(トラブルシューティング)
    1. 1. 「gzip: stdin: not in gzip format」「tar: Error is not recoverable: exiting now」
    2. 2. 「Permission denied」(パーミッション不足)で解凍できない
    3. 3. 「Cannot open: No such file or directory」と表示される
    4. 4. 解凍したファイル名が文字化けする
  10. まとめ(解凍・圧縮クイックリファレンス)
  11. 関連記事(アーカイブ・圧縮サテライト一覧)
  12. 関連記事

【結論】今すぐ使える!拡張子別・一発解凍コマンド早見表

圧縮形式・拡張子基本解凍コマンド(カレントに展開)特定ディレクトリへ解凍(-C / -d)詳細サテライト解説
.tar.gz / .tgztar -zxvf archive.tar.gztar -zxvf archive.tar.gz -C /path/to/dest/tarコマンドの使い方
gzipの基本
.zipunzip archive.zipunzip archive.zip -d /path/to/dest/zip/unzip詳細
.tar.bz2 / .tbz2tar -jxvf archive.tar.bz2tar -jxvf archive.tar.bz2 -C /path/to/dest/tarオプション一覧
.tar.xz / .txztar -Jxvf archive.tar.xztar -Jxvf archive.tar.xz -C /path/to/dest/tar高圧縮オプション
.tar.zsttar --zstd -xvf archive.tar.zsttar --zstd -xvf archive.tar.zst -C /path/to/dest/zstd超高速圧縮
.cpiocpio -idmv < archive.cpiocd /path/to/dest && cpio -idmv < /path/archive.cpiocpioの使い方
自動判別(GNU tar)tar -xvf archive.tar.gztar -xvf archive.tar.gz -C /path/to/dest/tarコマンド解説

この記事では、主要な圧縮・アーカイブ形式(tar.gz, zip, tar.bz2, tar.xz, zstd, cpio)の解凍・圧縮コマンド、展開先指定(-C / -d)、中身の事前確認(-tf / -l)、大容量ファイルの分割・結合(split / cat)、頻出エラー解決法を実務エンジニア目線で完全解説します。

拡張子別の解凍・圧縮コマンド対比表

各種アーカイブ・圧縮ファイルの拡張子に応じた「解凍コマンド」「圧縮コマンド」「展開先指定」「中身の事前確認(プレビュー)」の対比表です。

拡張子圧縮形式解凍コマンド圧縮・作成コマンド展開先指定中身確認(プレビュー)
.tar.gz / .tgzgziptar -zxvf archive.tar.gztar -zcvf archive.tar.gz dir/-C /path/to/dirtar -ztvf archive.tar.gz
.zipZIPunzip archive.zipzip -r archive.zip dir/-d /path/to/dirunzip -l archive.zip
.tar.bz2 / .tbz2bzip2tar -jxvf archive.tar.bz2tar -jcvf archive.tar.bz2 dir/-C /path/to/dirtar -jtvf archive.tar.bz2
.tar.xz / .txzxztar -Jxvf archive.tar.xztar -Jcvf archive.tar.xz dir/-C /path/to/dirtar -Jtvf archive.tar.xz
.tar.zstzstdtar --zstd -xvf archive.tar.zsttar --zstd -cvf archive.tar.zst dir/-C /path/to/dirtar --zstd -tvf archive.tar.zst
.cpiocpiocpio -idmv < archive.cpiofind . | cpio -o -H newc > archive.cpio事前に対象ディレクトリへcdcpio -itv < archive.cpio
.tar非圧縮(tarのみ)tar -xvf archive.tartar -cvf archive.tar dir/-C /path/to/dirtar -tvf archive.tar
.gz単一ファイルgzipgunzip file.gzgzip file-c > /path/filegzip -l file.gz

※現代の GNU tar(LinuxやWSL標準)では、tar -xvf <ファイル名> を実行するだけで圧縮形式(gzip/bzip2/xz/zstd)を自動判別して適切に解凍してくれます。

tgzファイルとは?tar.gzとの違い

.tgz.tar.gzまったく同じフォーマット です。どちらも「tarで複数ファイルを1つに束ねたアーカイブを、gzipで圧縮したファイル」を指します。

拡張子意味解凍コマンド
.tar.gztar アーカイブを gzip 圧縮したファイル(フル表記)tar -zxvf file.tar.gz
.tgz.tar.gz の短縮表記(内容は完全に同一)tar -zxvf file.tgz

かつてMS-DOSなどの古いシステムで拡張子が3文字(8.3形式)に制限されていた名残で .tgz が使われることがありますが、内部構造も解凍コマンドも完全に同一であるため、どちらも同じ方法で解凍できます。

tar.gz / tgz の解凍・圧縮コマンドとオプション詳細

Linux、macOS、WSL環境での tar コマンドを使った解凍・圧縮の基本と実務テクニックを解説します。

1. 基本の解凍(カレントディレクトリへ展開)

アーカイブが存在する現在のディレクトリにそのまま展開します。

# 進行状況(ファイル名)を表示しながら解凍(推奨)
tar -zxvf archive.tar.gz

# .tgz の場合も同一
tar -zxvf archive.tgz

# 静かに解凍(ログ出力を省く場合は -v を除く)
tar -zxf archive.tar.gz

2. 解凍先ディレクトリを指定する(-C オプション)

特定のフォルダ配下に解凍したい場合は -C(大文字のC)オプションを使用します。

# 展開先ディレクトリを事前に作成
mkdir -p /path/to/dest/

# 指定ディレクトリへ展開
tar -zxvf archive.tar.gz -C /path/to/dest/

注意点: -C で指定する展開先ディレクトリは事前に存在している必要があります。存在しないパスを指定すると tar: /path/to/dest: Cannot open: No such file or directory エラーになります。

3. 解凍前に中身のファイル一覧を確認する(-tf オプション)

実際に展開せず、アーカイブの中にどのようなファイルが含まれているか一覧確認(プレビュー)するには -tf を使います。

# 中身のファイル一覧を詳細表示(展開は行わない)
tar -ztvf archive.tar.gz

# 簡易表示(ファイル名のみ)
tar -ztf archive.tar.gz

アーカイブ内にトップディレクトリが含まれているか(カレントディレクトリにファイルがバラバラと散乱しないか)を事前に確認できるため、安全に解凍できます。

4. アーカイブ内の一部のファイルだけを抽出して解凍する

大容量アーカイブから特定のファイルやフォルダだけを取り出したい場合は、コマンド末尾に対象のファイルパスを指定します。

# まず中身のパスを確認
tar -ztf archive.tar.gz

# 特定のファイル(myapp/config.yaml)のみ抽出
tar -zxvf archive.tar.gz myapp/config.yaml

# 特定のディレクトリ配下のみ抽出
tar -zxvf archive.tar.gz myapp/src/

5. tar.gz アーカイブの作成(圧縮)

ディレクトリや複数ファイルを .tar.gz として圧縮・アーカイブ化する場合は -c(create)オプションを使用します。

# ディレクトリを tar.gz に圧縮
tar -zcvf archive.tar.gz /path/to/target_dir/

# 複数ファイルをまとめて圧縮
tar -zcvf archive.tar.gz file1.txt file2.txt file3.txt

# 特定のファイル・ディレクトリを除外して圧縮(--exclude)
tar -zcvf archive.tar.gz --exclude="*.log" --exclude=".git" /path/to/target_dir/

tarオプションの意味早見表

オプション名称・意味役割
-xextract(展開)アーカイブからファイルを解凍・展開する
-ccreate(作成)新しいアーカイブファイルを作成(圧縮)する
-zgzipgzip圧縮フィルタを通す(.tar.gz / .tgz)
-vverbose(詳細表示)処理中のファイル名をリアルタイムで画面表示する
-ffile(ファイル指定)対象のアーカイブファイル名を指定する(必須)
-CChange directory解凍先となるディレクトリを指定する(大文字)
-tlist(一覧表示)解凍せずにアーカイブ内の一覧を表示する
-jbzip2bzip2圧縮形式を扱う(.tar.bz2)
-Jxzxz圧縮形式を扱う(.tar.xz)
-ppreserve permissions元のパーミッション(権限)情報を維持して展開する

tar コマンドの詳細オプションやバックアップの実践例については、以下のサテライト記事で詳しく解説しています:

zip形式の解凍・圧縮(zip / unzip)

WindowsやmacOSとのファイル受け渡しで最も一般的な .zip 形式の操作手順です。

1. zipファイルの解凍(unzip)

# カレントディレクトリに解凍
unzip archive.zip

# 特定ディレクトリへ解凍(-d オプション)
unzip archive.zip -d /path/to/dest/

# 中身の一覧確認(解凍しない)
unzip -l archive.zip

# 既存ファイルを上書き確認なしで強制展開(-o)
unzip -o archive.zip -d /path/to/dest/

2. zipファイルの作成(zip)

# ディレクトリを再帰的にzip圧縮(-r は必須)
zip -r archive.zip /path/to/target_dir/

# パスワード付きでzip圧縮(暗号化)
zip -e -r secure_archive.zip /path/to/target_dir/

# 最高圧縮率(-9)で圧縮
zip -9 -r archive_max.zip /path/to/target_dir/

zip/unzipコマンドの全オプションや文字化け防止策については、zip / unzip コマンド|Linux での圧縮・解凍の使い方で詳しく解説しています。

最新・特殊なアーカイブ形式(zstd / cpio / ar / xz / bz2)

高速化やシステム管理用途で頻出する各種アーカイブ形式の操作コマンドです。

1. zstd(Zstandard):超高速&高圧縮率の次世代フォーマット

Meta社が開発した zstd は、gzipを遥かに凌駕する圧倒的な解凍・圧縮スピードを誇り、Linuxカーネルやパッケージ管理(Arch Linux、Fedora、Ubuntu等)で急速に普及しています。

# tar.zst の解凍
tar --zstd -xvf archive.tar.zst -C /path/to/dest/

# tar.zst の作成(圧縮)
tar --zstd -cvf archive.tar.zst /path/to/dir/

# 単一ファイルのzstd圧縮・解凍
zstd file.txt          # file.txt.zst が作成される
unzstd file.txt.zst    # または zstd -d file.txt.zst

詳細なベンチマークやマルチスレッド圧縮オプション(-T0)については、zstdコマンドの使い方|圧縮・解凍からtar.zst・gzip比較までをご覧ください。

2. cpio:RPMパッケージやinitramfsで使われるアーカイブ

cpio は、Linuxの起動イメージ(initramfs / initrd)や Red Hat 系 RPM パッケージ内部のファイル抽出で活用される重要なアーカイブ形式です。

# cpio アーカイブの解凍(展開)
cpio -idmv < archive.cpio

# 解凍せずに中身一覧を確認(プレビュー)
cpio -itv  archive.cpio

# RPM パッケージから中身のファイルを展開・抽出
rpm2cpio package.rpm | cpio -idmv

cpio コマンドの詳しいモード(-o, -i, -p)や実務でのレスキュー手順については、以下のサテライト記事で網羅しています:

3. tar.bz2 / tar.xz(bzip2 / xz)

# tar.bz2 の解凍(-j)
tar -jxvf archive.tar.bz2 -C /path/to/dest/

# tar.bz2 の作成(-j)
tar -jcvf archive.tar.bz2 /path/to/dir/

# tar.xz の解凍(-J)※高圧縮率
tar -Jxvf archive.tar.xz -C /path/to/dest/

# tar.xz の作成(-J)
tar -Jcvf archive.tar.xz /path/to/dir/

大容量アーカイブファイルの分割・結合手順(split / cat)

数十GBに及ぶ巨大なバックアップファイルやログアーカイブを転送する際、ファイルサイズ制限(メール添付制限やクラウドストレージ・FAT32の上限4GBなど)を回避するために split コマンドで分割し、受け取り側で cat コマンドで結合して解凍します。

1. split によるアーカイブの分割

# 1GBごとに連番数字(.part00, .part01...)で分割
split -b 1G -d archive.tar.gz archive.tar.gz.part

# 500MBごとにアルファベット連番(.partaa, .partab...)で分割
split -b 500M archive.tar.gz archive.tar.gz.part_

2. cat による分割ファイルの結合と解凍

# 分割されたファイルを1つの archive.tar.gz に結合
cat archive.tar.gz.part* > restored.tar.gz

# 結合後にそのまま解凍
tar -zxvf restored.tar.gz -C /path/to/dest/

# 【上級技】中間ファイルを作らずパイプで直接結合しながら解凍
cat archive.tar.gz.part* | tar -zxvf - -C /path/to/dest/

分割・結合の行数指定やエラー回避の詳細については、以下のサテライト記事をご参照ください:

OS別の解凍手順(Linux / macOS / WSL・Windows)

1. Linux環境での解凍

Ubuntu、Debian、RHEL、CentOS、AlmaLinuxなどのLinuxディストリビューションでは、標準で tar コマンドがインストールされています。ターミナルから以下のコマンドを実行します。

# カレントディレクトリに解凍
tar -zxvf archive.tar.gz

# システム領域(/opt等)への解凍は管理者権限を付与
sudo tar -zxvf archive.tar.gz -C /opt/

2. macOS環境での解凍

macOS では、GUI(Finder)とターミナルのどちらからでも簡単に解凍できます。

  • Finderの場合: .tar.gz.tgz ファイルをダブルクリックするだけで、標準のアーカイブユーティリティにより同一フォルダへ自動展開されます。
  • ターミナル(Terminal.app)の場合: Linuxと同一の tar コマンドがそのまま使用できます。
    tar -zxvf archive.tar.gz -C ~/Downloads/extracted/

3. WSL(Windows Subsystem for Linux)および Windowsでの解凍

Windows環境でも、WSLやPowerShellを活用することで簡単に解凍できます。

  • WSL(Ubuntu等): Linuxと完全に同一の tar -zxvf archive.tar.gz で解凍可能。Windows側のドライブ(/mnt/c/...)上のファイルも直接操作できます。
  • PowerShell / コマンドプロンプト(Windows 10 バージョン1803以降 / Windows 11): Windows標準で tar.exe が搭載されているため、PowerShell上でも tar -zxvf archive.tar.gz がそのまま実行可能です。
  • エクスプローラー(Windows 11 23H2以降): エクスプローラー上で右クリック →「すべて展開」から .tar.gz / .tgz / .7z などを直接展開できます。

よくあるエラーと解決策(トラブルシューティング)

解凍作業時によく遭遇するエラーの原因と対処法をまとめました。

1. 「gzip: stdin: not in gzip format」「tar: Error is not recoverable: exiting now」

$ tar -zxvf archive.tar.gz
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now

原因: ファイルの拡張子は .tar.gz になっていますが、中身が gzip 圧縮形式ではありません。以下のパターンが多く見られます。

  • 実体は未圧縮の tar ファイル: 圧縮オプションを外した tar -xvf archive.tar.gz で解凍できます。
  • ダウンロードの失敗・破損: wgetcurl でダウンロードした際、認証エラーや404エラーのHTMLページがそのまま保存されているケースです。
  • 拡張子と形式の不一致: 実体は zip や xz、bz2、zstd など別の圧縮形式であるケースです。

対処法: file コマンドでファイル形式の実体を調べます。

$ file archive.tar.gz
archive.tar.gz: gzip compressed data, from Unix   # ← 正常なgzip形式
archive.tar.gz: POSIX tar archive (GNU)          # ← 未圧縮tar(tar -xvf で解凍可能)
archive.tar.gz: HTML document, ASCII text        # ← ダウンロード失敗(再ダウンロードが必要)
archive.tar.gz: Zip archive data                 # ← 実体はzip(unzip で解凍可能)
archive.tar.gz: Zstandard compressed data        # ← 実体はzstd(tar --zstd -xvf で解凍可能)

2. 「Permission denied」(パーミッション不足)で解凍できない

tar: /usr/local/bin/myapp: Cannot open: Permission denied
tar: Error is not recoverable: exiting now

原因: 展開先ディレクトリ(/usr/local/opt など)に対する書き込み権限がありません。
対処法: sudo を付与して実行するか、一般ユーザーに書き込み権限のあるディレクトリ(ホームディレクトリ等)へ展開します。

# sudo を付与して実行
sudo tar -zxvf archive.tar.gz -C /usr/local/bin/

3. 「Cannot open: No such file or directory」と表示される

原因: -C で指定した展開先ディレクトリが存在していません。
対処法: mkdir -p で展開先ディレクトリを事前に作成してから実行します。

# ディレクトリを作成してから解凍
mkdir -p /path/to/dest/
tar -zxvf archive.tar.gz -C /path/to/dest/

4. 解凍したファイル名が文字化けする

原因: Linux(UTF-8)環境で作成されたアーカイブを Windows(Shift_JIS / CP932)環境で解凍した場合や、その逆で日本語ファイル名が含まれていると文字化けが発生します。
対処法: WSL 上で tar -zxvf を実行するか、7-Zip 等のツールで文字コードを UTF-8 に指定して解凍します。

まとめ(解凍・圧縮クイックリファレンス)

やりたいことコマンド(コピペOK)
基本の解凍(tar.gz / tgz)tar -zxvf archive.tar.gz
別ディレクトリへ解凍tar -zxvf archive.tar.gz -C /path/to/dest/
中身を事前確認(プレビュー)tar -ztvf archive.tar.gz
tar.gz の圧縮作成tar -zcvf archive.tar.gz /path/to/dir/
zipの解凍 / 圧縮unzip archive.zip -d /path/to/dest/
zip -r archive.zip /path/to/dir/
zstd の解凍 / 圧縮tar --zstd -xvf archive.tar.zst -C /path/to/dest/
tar --zstd -cvf archive.tar.zst /path/to/dir/
cpio の解凍cpio -idmv < archive.cpio
大容量ファイルの分割 / 結合split -b 1G -d archive.tar.gz archive.tar.gz.part
cat archive.tar.gz.part* > restored.tar.gz
形式自動判別(GNU tar)tar -xvf archive.tar.gz
  • .tar.gz と .tgz は完全同一:どちらも tar -zxvf(解凍)および tar -zcvf(圧縮)で操作できます。
  • 別フォルダ展開は -C(tar)または -d(unzip):展開先フォルダを mkdir -p で事前作成して指定します。
  • 安全な解凍には -tf(tar)や -l(unzip):展開前にアーカイブ構造を確認し、ファイルの散乱を防止できます。
  • 巨大ファイルは splitcat:分割転送・安全結合を行い、パイプを活用して直接解凍も可能です。
  • エラー時は file コマンド:形式不一致やダウンロード破損をすばやく特定できます。

関連記事(アーカイブ・圧縮サテライト一覧)

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント