LinuxやmacOSのコマンドライン作業で、ファイルやディレクトリをまとめて扱いたいときによく使われるのが tar
コマンドです。
特に「圧縮したい」「解凍したい」という場面で使われますが、オプションが多くて覚えにくく、使うたびに検索してしまう人も多いはずです。
この記事では、そんな tar
コマンドの圧縮・解凍方法を最初にズバリ提示し、そのあとで詳しく解説を進めていきます。
「とにかく早く使いたい人」も、「じっくり理解したい人」も、どちらにも役立つように構成しました。
必要なときにすぐ使えるよう、ぜひブックマークしてご活用ください。
tarコマンドの圧縮・解凍、まずはこれだけ見ればOK!
まずは tar コマンドを使った「圧縮」と「解凍」の基本的なコマンドだけを、用途別に一覧で紹介します。これさえ覚えておけば、日常的な tar の利用はほぼカバーできます。
🔽 圧縮(アーカイブ)のコマンド
# アーカイブ(圧縮なし)を作成
tar -cvf archive.tar ディレクトリ名やファイル名
# gzip形式で圧縮(.tar.gz)
tar -czvf archive.tar.gz ディレクトリ名やファイル名
# bzip2形式で圧縮(.tar.bz2)
tar -cjvf archive.tar.bz2 ディレクトリ名やファイル名
# xz形式で圧縮(.tar.xz)
tar -cJvf archive.tar.xz ディレクトリ名やファイル名
🔼 解凍(展開)のコマンド
# アーカイブ(.tar)を展開
tar -xvf archive.tar
# gzip形式(.tar.gz)を展開
tar -xzvf archive.tar.gz
# bzip2形式(.tar.bz2)を展開
tar -xjvf archive.tar.bz2
# xz形式(.tar.xz)を展開
tar -xJvf archive.tar.xz
💡 オプションの意味(よく使うもの)
オプション | 意味 | 備考 |
---|---|---|
-c | アーカイブ作成(create) | 圧縮時に使用 |
-x | 展開(extract) | 解凍時に使用 |
-v | 詳細表示(verbose) | 進捗が見えるので安心 |
-f | ファイル指定(file) | 対象ファイル名を後に続ける |
-z | gzip圧縮対応 | .tar.gz に対応 |
-j | bzip2圧縮対応 | .tar.bz2 に対応 |
-J | xz圧縮対応 | .tar.xz に対応 |
tarとは?アーカイブと圧縮の違い
tar
は「Tape Archive(テープ・アーカイブ)」の略で、もともとは複数のファイルを1つのテープにまとめて保存するために使われていたコマンドです。現在でも、LinuxやmacOSのコマンドラインでよく利用されており、複数ファイルを1つにまとめるための基本的なツールとして重宝されています。
アーカイブ = まとめるだけ
tar
コマンドの本質は「まとめること」です。
たとえば以下のようにすると、複数のファイルを1つの .tar
ファイルにまとめることができます。
tar -cvf backup.tar ファイルA ファイルB ディレクトリC
この段階では「圧縮」はされていません。中身のサイズは変わらず、単に1つにくっついただけです。
圧縮 = 容量を小さくすること
圧縮は .tar
ファイルに対して別途行う処理です。tar
コマンドは -z
(gzip)、-j
(bzip2)、-J
(xz)などのオプションを組み合わせることで、アーカイブと圧縮を同時に実行できます。
tar -czvf backup.tar.gz ファイルやディレクトリ
このように圧縮処理を加えることで、ディスク容量を節約したり、転送速度を上げたりできます。
.zipとの違いは?
比較項目 | tar + 圧縮 | zip |
---|---|---|
処理 | アーカイブ+圧縮を分けて行う | アーカイブと圧縮を同時に行う |
拡張子 | .tar , .tar.gz , etc | .zip |
一部展開 | 可能 | 可能 |
圧縮率 | 圧縮形式によって異なる | 通常は中程度 |
対応環境 | UNIX系に標準的 | Windowsで標準的 |
まとめ
- tarは「まとめる」コマンド、圧縮とは別物
- 実用的には「まとめて圧縮」「まとめて解凍」で使うのが一般的
.zip
と異なり、形式を自由に選べるのがメリット
圧縮:よく使う書き方と拡張子の違い
tarコマンドでは、アーカイブだけでなく、圧縮形式を指定することで .tar.gz
や .tar.bz2
などの形式で出力できます。用途に応じて圧縮形式を選び、適切なオプションを使うのがポイントです。
gzip形式(.tar.gz)
tar -czvf archive.tar.gz ディレクトリ名やファイル名
-z
:gzip圧縮を有効にする- 最も一般的な形式で、展開も速く広く使われている
bzip2形式(.tar.bz2)
tar -cjvf archive.tar.bz2 ディレクトリ名やファイル名
-j
:bzip2圧縮を有効にする- gzipよりも高い圧縮率だが処理時間はやや長め
xz形式(.tar.xz)
tar -cJvf archive.tar.xz ディレクトリ名やファイル名
-J
:xz圧縮を有効にする- 高圧縮率かつ比較的新しい形式。ソースコード配布などで使われることが多い
拡張子ごとの違いまとめ
拡張子 | 圧縮形式 | オプション | 特徴 |
---|---|---|---|
.tar | なし | -cvf | アーカイブのみ、圧縮なし |
.tar.gz | gzip | -czvf | 汎用性が高く、展開が速い |
.tar.bz2 | bzip2 | -cjvf | 圧縮率が高いが少し遅い |
.tar.xz | xz | -cJvf | 圧縮率が非常に高い |
ファイル名を圧縮後に自動でつけたいとき
ファイル名を自動的に出力するには、シェルの変数展開などと組み合わせると便利です。
filename=backup
tar -czvf ${filename}_$(date +%Y%m%d).tar.gz 対象フォルダ
解凍:展開の方法と中身確認のコマンド
圧縮された .tar
ファイルを解凍する際にも、ファイルの形式に応じたオプションの使い分けが重要です。tarコマンドの解凍では -x
(extract)を使い、拡張子に応じて -z
, -j
, -J
を組み合わせます。
基本的な解凍コマンド
# .tar ファイルの展開(圧縮なし)
tar -xvf archive.tar
# .tar.gz の展開(gzip)
tar -xzvf archive.tar.gz
# .tar.bz2 の展開(bzip2)
tar -xjvf archive.tar.bz2
# .tar.xz の展開(xz)
tar -xJvf archive.tar.xz
展開先のディレクトリを指定する
-C
オプションを使えば、解凍先を任意のディレクトリに変更できます。
tar -xzvf archive.tar.gz -C /path/to/output
※ /path/to/output
ディレクトリは事前に作成しておく必要があります。
解凍せずに中身だけ確認する
解凍前にファイルの構成を確認したいときは -t
(list)オプションを使います。
tar -tvf archive.tar
tar -tzvf archive.tar.gz
- ファイル名、パーミッション、更新日時などが一覧表示されます
一部のファイルだけ解凍する
対象のファイル名をコマンドの末尾に指定すると、特定ファイルのみを抽出できます。
tar -xzvf archive.tar.gz path/to/file.txt
- パスはアーカイブ内の相対パスと一致している必要があります
解凍での注意点
- 相対パスで展開されるので、現在の作業ディレクトリに注意
- アーカイブによっては展開時に大量のファイルが展開されることがあるため、事前確認(
-t
)がおすすめです
よく使うオプション一覧と覚え方
tarコマンドはオプションの組み合わせによって多彩な使い方ができますが、基本的なオプションだけを覚えておけば、ほとんどの用途に対応できます。ここでは、よく使うオプションとその意味、覚えやすい語呂を紹介します。
基本オプション一覧
オプション | 意味 | よく使う場面 | 覚え方 |
---|---|---|---|
-c | create(作成) | アーカイブを作る | create = 作成 |
-x | extract(展開) | アーカイブを展開 | xtract = 取り出す |
-v | verbose(詳細表示) | 処理中のファイルを見る | visible(見える) |
-f | file(ファイル指定) | 出力ファイル名の指定 | file = ファイル名を指定 |
-z | gzip圧縮 | .tar.gz を扱う | zipの z(gzip) |
-j | bzip2圧縮 | .tar.bz2 を扱う | j = bjip2(語呂) |
-J | xz圧縮 | .tar.xz を扱う | Just xz(Jで覚える) |
-t | list(中身を表示) | 展開せずに確認 | table(一覧表示) |
-C | Change directory | 展開先の指定 | Change directory |
オプションの覚え方のコツ
- 「c / x / t」:基本操作のモードを決める(作成・展開・一覧)
- 「v / f」:補助的に常につける(出力確認・ファイル指定)
- 「z / j / J」:圧縮形式を選ぶ(gzip / bzip2 / xz)
- 順番は重要:
-cvf
のようにf
の後ろにファイル名が必要
例:よくある組み合わせパターン
操作内容 | コマンド例 | コメント |
---|---|---|
アーカイブ作成 | tar -cvf backup.tar dir/ | 圧縮なし |
gzip圧縮 | tar -czvf backup.tar.gz dir/ | 最も一般的な形式 |
展開 | tar -xvf backup.tar | 圧縮されていない場合 |
gzip展開 | tar -xzvf backup.tar.gz | .tar.gz の展開 |
中身だけ確認 | tar -tvf backup.tar | 展開前にチェックできる |
指定先に展開 | tar -xzvf backup.tar.gz -C output/ | 特定ディレクトリに展開 |
オプションの意味と使い方を理解すれば、組み合わせるだけでtarの機能を自在に扱えるようになります。特に -cvf
/ -czvf
/ -xvf
/ -xzvf
の4つの基本形は、繰り返し使って自然に覚えていきましょう。
応用テクニック・実務で便利な使い方
基本的な圧縮・解凍の使い方を覚えたら、次はtarコマンドをより柔軟に使いこなすための応用テクニックです。実務でも役立つ便利な使い方をいくつか紹介します。
特定のファイルやディレクトリを除外する(–exclude)
不要なファイルを除いてアーカイブを作りたい場合は --exclude
オプションが便利です。
tar -czvf archive.tar.gz ディレクトリ名 --exclude="*.log"
.log
ファイルを除外して圧縮- ワイルドカードも使えます
展開先を任意のディレクトリに変更する(-C)
ファイルを展開するディレクトリを指定することで、作業ディレクトリを汚さず整理できます。
tar -xzvf archive.tar.gz -C ./restore_folder
restore_folder
が事前に存在している必要があります
SSH経由でリモートサーバーへ送る
ローカルで圧縮しつつ、リモートサーバーに直接転送したいときの一発コマンドです。
tar -czf - ディレクトリ名 | ssh user@remote "tar -xzf - -C /path/to/destination"
- ネットワーク経由でそのまま展開可能
- バックアップや移行時に便利です
find コマンドと組み合わせて圧縮
find
で特定条件のファイルを選んで tar に渡すこともできます。
find ./logs -name "*.log" | tar -czvf logs.tar.gz -T -
-T -
は標準入力を意味します- 大量のファイルの中から絞って圧縮可能
ファイル更新の差分だけアーカイブ(–update)
既存の .tar
アーカイブに、新しい変更だけを追記したい場合に使います。
tar --update -f archive.tar 変更されたファイル
- 差分バックアップ的な用途に便利
これらのテクニックを知っておくと、tarコマンドを単なる「圧縮・解凍ツール」ではなく、柔軟で高機能なファイル操作ツールとして使いこなせるようになります。実務でも非常に重宝されるので、ぜひ活用してみてください。
よくある質問(FAQ)
tarコマンドを使っていてつまずきやすいポイントや、検索されやすい疑問をQ&A形式でまとめました。初心者だけでなく、久しぶりに使う中級者にも役立つ内容です。
Q. -cvf と -czvf の違いは何ですか?
-cvf
はアーカイブのみ(圧縮なし)-czvf
は gzip での圧縮付きアーカイブ
gzip圧縮をする場合はz
を忘れずに追加しましょう。
Q. .tar.gzと.zipはどう違うの?
項目 | .tar.gz | .zip |
---|---|---|
処理の順番 | アーカイブ → 圧縮 | 同時にアーカイブ+圧縮 |
柔軟性 | 圧縮形式を選べて自由度が高い | 単体で完結しているが固定形式 |
よく使う場面 | UNIX/Linux系の環境 | Windowsでの配布・受け渡し |
Q. tarコマンドが「invalid option」と言われるのはなぜ?
- GNU tar 以外の環境(macOS など)ではオプションの挙動が異なることがあります
-
を省略したり、順序が違うとエラーになる場合もあります
例:xvf
ではなく-xvf
と書く必要があります
Q. Windowsで.tar.gzファイルを解凍するには?
- Windows 11以降では標準で展開可能です
- それ以前のバージョンでは「7-Zip」や「WinRAR」などのツールを使うと展開できます
Q. 圧縮ファイルの中に何が入っているか確認する方法は?
解凍せずに中身だけ確認するには -t
オプションを使います。
tar -tvf archive.tar.gz
ファイル構成や日時、サイズを事前にチェックできるので、安全に作業したいときに便利です。
tarコマンドは小さなミスで動かないことも多いため、「なぜ失敗したか」を一つ一つ確認しながら使っていくことがポイントです。上記のような疑問を解消するだけでも、作業効率は大きく変わります。
まとめ|tarはこのパターンだけ覚えれば怖くない
tarコマンドはオプションが多くて難しく感じるかもしれませんが、実は基本の形だけを覚えれば、ほとんどの操作がスムーズにこなせます。
✅ 圧縮はこの2つを使い分けるだけ
# アーカイブのみ(圧縮なし)
tar -cvf archive.tar 対象
# gzip圧縮付き
tar -czvf archive.tar.gz 対象
✅ 解凍はこの2つを使い分けるだけ
# アーカイブのみを展開
tar -xvf archive.tar
# gzip圧縮を展開
tar -xzvf archive.tar.gz
✅ よく使うオプションはこれだけ
c
:作成(create)x
:展開(extract)v
:中身を表示(verbose)f
:ファイル名を指定(file)z
:gzip圧縮対応(zipのz)
この組み合わせで 「作るなら -cvf / -czvf」「解凍なら -xvf / -xzvf」 を基本形として使えば、迷うことはほとんどありません。
tarコマンドは、慣れれば非常に強力で応用も効くツールです。
まずは基本を押さえて、少しずつ便利な使い方を身につけていきましょう。
ブックマークしておけば、いつでも「圧縮・解凍のレシピ帳」として活用できます。
コメント