「ディレクトリごとバックアップとして圧縮したいけど、オプションが多すぎて覚えられない」
Linuxを触り始めたエンジニアが必ず一度は壁にぶつかるのが、この
tar(ター)コマンドです。この記事では、Linux環境でファイルやディレクトリを圧縮・解凍(展開)する
tar コマンドの実践的な使い方を解説します。単なるオプション一覧の羅列ではなく、現場で必ず使う「黄金の組み合わせ(zxvf / zcvf)」や、解凍先ディレクトリの指定(-C)など、実務で迷わないための鉄則をまとめました。
・解凍は tar -zxvf、圧縮は tar -zcvf が基本の黄金パターン
・fオプションの直後には必ずファイル名を置く(tar -zxfvはエラー)
・-Cオプションで解凍先ディレクトリを指定できる
・.tar.bz2形式は -j オプションを使う
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
1. 解凍(展開)の黄金パターン「tar -zxvf」
ネット上で配布されているLinux用ソフトウェアのほとんどは、.tar.gz という形式で圧縮されています。これを解凍(展開)するには、以下のコマンドを丸暗記しておけば間違いありません。
# tar -zxvf ファイル名.tar.gz
・
z:gzip形式(.gz)を扱う・
x:解凍(eXtract)する・
v:処理したファイル名を画面に詳細表示(Verbose)する・
f:対象のファイル名を指定(File)する※
f f オプションの直後には必ずファイル名が来なければなりません。tar -zxfv のように f の後ろに別のオプション文字を置くと、v をファイル名として解釈しようとしてエラーになります。慣例として f は一番最後に置くと覚えておくと安全です。
特定のディレクトリに解凍する(-C)
デフォルトでは、コマンドを実行した「現在のディレクトリ」に解凍されてしまいます。「/opt」や「/usr/local」など、別のディレクトリを指定して解凍したい場合は
-C(大文字のシー)オプションを追加します。これも実務で頻出する必須テクニックです。# /opt ディレクトリ配下に解凍する # tar -zxvf sample.tar.gz -C /opt/
bzip2形式(.tar.bz2)を解凍する(-j)
.tar.gz の代わりに .tar.bz2 形式で配布されているソフトウェアも存在します。この場合は z の代わりに j オプションを使います。# .tar.bz2 形式のファイルを解凍する # tar -jxvf ファイル名.tar.bz2
2. 圧縮の黄金パターン「tar -zcvf」
逆に、ログファイルの退避やシステム移行などで、ディレクトリごと圧縮してバックアップを作りたい場合は、x の代わりに c(Create:作成)を使います。# 基本書式: tar -zcvf [作成する圧縮ファイル名] [圧縮したい対象パス] # /var/www/html ディレクトリを backup.tar.gz という名前で圧縮する # tar -zcvf backup.tar.gz /var/www/html/
特定のファイルやディレクトリを除外して圧縮する(--exclude)
「ディレクトリ全体を圧縮したいけど、重い画像フォルダや過去のバックアップファイルは除外したい」という場合は--exclude オプションを使います。# images フォルダを除外して圧縮する # tar -zcvf backup.tar.gz /var/www/html/ --exclude="/var/www/html/images"
圧縮なしでアーカイブだけ作る(-cvf)
圧縮は不要だがファイルをひとまとめにしたい場合は、z を省いて -cvf だけで使います。転送先で展開しやすいよう単純にまとめるだけのケースで役立ちます。# 圧縮なしでアーカイブを作成する # tar -cvf archive.tar /var/www/html/
3. 【注意】圧縮ファイルの中身だけを事前に確認する(-t)
「得体の知れない tar.gz ファイルをもらったけど、いきなり解凍して現在のディレクトリが散らかるのが怖い」そんな時は、解凍する前に
-t(lisT)オプションを使って「中に何が入っているか」を一覧表示で確認するのが安全な手順です。# 圧縮ファイルの中身を解凍せずに確認する # tar -ztvf sample.tar.gz
本記事のまとめ(tarオプション早見表)
| やりたいこと | コマンド・オプション |
|---|---|
| ファイルを解凍(展開)する | tar -zxvf ファイル名.tar.gz |
| 指定したディレクトリに解凍する | tar -zxvf ファイル名.tar.gz -C /出力先パス/ |
| bzip2形式(.tar.bz2)を解凍する | tar -jxvf ファイル名.tar.bz2 |
| ディレクトリを圧縮する | tar -zcvf 作成するファイル名.tar.gz 圧縮対象パス/ |
| 特定のフォルダを除外して圧縮する | tar -zcvf backup.tar.gz パス/ --exclude="除外するパス" |
| 圧縮なしでアーカイブだけ作る | tar -cvf archive.tar 対象パス/ |
| 解凍せずに中身だけを確認する | tar -ztvf ファイル名.tar.gz |
tarコマンドを含め、Linuxサーバー管理を体系的に学びたい方へ
tarコマンドはバックアップ・デプロイ・ソフトウェア展開など、Linuxサーバー管理の現場で毎日使うコマンドです。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 次のページへ:restoreコマンドでバックアップからファイルを復元する方法|dumpとの使い方も解説
- 前のページへ:gunzipコマンドでgzファイルを解凍する方法|gzip -dとの違い・オプションも解説
- この記事の属するカテゴリ:Linuxコマンド・LinuxコマンドP-T・圧縮・解凍・アーカイブ管理コマンドへ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます