tarコマンドで圧縮・解凍(展開)する方法|必須のzxvfやディレクトリ指定もコマンド

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxコマンド, LinuxコマンドP-T, 圧縮・解凍・アーカイブ管理コマンド > tarコマンドで圧縮・解凍(展開)する方法|必須のzxvfやディレクトリ指定もコマンド
「ダウンロードした tar.gz ファイルの解凍方法が分からない」
「ディレクトリごとバックアップとして圧縮したいけど、オプションが多すぎて覚えられない」
Linuxを触り始めたエンジニアが必ず一度は壁にぶつかるのが、この tar(ター)コマンドです。

この記事では、Linux環境でファイルやディレクトリを圧縮・解凍(展開)する tar コマンドの実践的な使い方を解説します。
単なるオプション一覧の羅列ではなく、現場で必ず使う「黄金の組み合わせ(zxvf / zcvf)」や、解凍先ディレクトリの指定(-C)など、実務で迷わないための鉄則をまとめました。

【この記事でわかること】
・解凍は tar -zxvf、圧縮は tar -zcvf が基本の黄金パターン
・fオプションの直後には必ずファイル名を置く(tar -zxfvはエラー)
・-Cオプションで解凍先ディレクトリを指定できる
・.tar.bz2形式は -j オプションを使う

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

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日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。