カテゴリ: Linux 更新日: 2026/03/20

tarコマンドの使い方を完全解説!Linuxでの圧縮・解凍・アーカイブの基本

Linuxのtarでよく使うオプションの意味と注意点
Linuxのtarでよく使うオプションの意味と注意点

先生と生徒の会話形式で理解しよう

生徒

「Linuxでたくさんのファイルを一つにまとめたり、サイズを小さくしたりしたいのですが、どうすればいいですか?」

先生

「それならtar(ター)コマンドが一番便利ですよ。複数のファイルを一つにまとめる『アーカイブ』や、容量を減らす『圧縮』がこれ一つでできるんです。」

生徒

「アーカイブと圧縮って違うんですか?なんだか難しそうですね……。」

先生

「イメージとしては、アーカイブは『複数の荷物を一つの段ボール箱に入れること』、圧縮は『布団圧縮袋のように空気を抜いて薄くすること』ですね。基本さえ覚えれば簡単ですよ!」

1. tarコマンドとアーカイブ・圧縮の基礎知識

1. tarコマンドとアーカイブ・圧縮の基礎知識
1. tarコマンドとアーカイブ・圧縮の基礎知識

Linuxの世界で欠かせないのが、このtarコマンドです。まず、初心者がつまづきやすい「アーカイブ」「圧縮」の違いを整理しましょう。

アーカイブ(Archive)とは、バラバラにある複数のファイルやフォルダを、一つのファイルにまとめる作業のことです。例えば、旅行の写真が100枚あるときに、それを一つの「旅行アルバム」というファイルにまとめるような操作です。このまとめたファイルを「アーカイブファイル」や「tarボール」と呼びます。

一方、圧縮(Compression)とは、データの並び方を工夫して、ファイル全体のデータ容量(サイズ)を小さくすることです。メールで送るときや、サーバーの容量を節約したいときに使われます。

tarコマンドは、元々は「Tape Archiver」の略で、昔は磁気テープにデータを保存するために使われていました。現在では、ファイルを一つにまとめつつ、同時にギュッと圧縮する役割として、Linuxユーザーに最も愛用されているツールの一つです。

2. tarコマンドの基本の書き方と必須オプション

2. tarコマンドの基本の書き方と必須オプション
2. tarコマンドの基本の書き方と必須オプション

tarコマンドは、他のLinuxコマンドに比べて「オプション」の指定が少し特殊です。基本的には、ハイフン(-)を付けずにオプションを書くことも多いですが、初心者のうちはハイフンを付ける書き方で覚えても問題ありません。

最もよく使う基本的な形は以下の通りです。


tar [オプション] [作成するファイル名] [まとめたい対象]

ここで絶対に覚えておきたい「三種の神器」とも言えるオプションがあります。

  • c (create):新しくアーカイブファイルを作成する。
  • v (verbose):処理中のファイル名を画面に表示する(進捗が見えるので安心です)。
  • f (file):アーカイブのファイル名を指定する。このオプションは必ず最後に書くルールがあります。

それでは、実際に「Documents」というフォルダを「backup.tar」という名前で一つにまとめてみましょう。


tar -cvf backup.tar Documents
Documents/
Documents/memo.txt
Documents/photo.jpg

これで、複数のファイルが入ったフォルダが、backup.tarという一つのファイルにまとまりました。

3. アーカイブを解凍(展開)して元に戻す方法

3. アーカイブを解凍(展開)して元に戻す方法
3. アーカイブを解凍(展開)して元に戻す方法

一つにまとめたファイルを、元のバラバラの状態に戻すことを「解凍」「展開」と呼びます。このときに使う魔法のオプションが x (extract) です。

英語の「Extract(抜き出す)」の頭文字だと覚えると忘れにくいでしょう。先ほど作った backup.tar を元の場所に戻すコマンドは以下のようになります。


tar -xvf backup.tar
Documents/
Documents/memo.txt
Documents/photo.jpg

このコマンドを実行すると、現在の場所に「Documents」フォルダが中身ごと復元されます。Windowsでいう「右クリックしてすべて展開」と同じ操作を、文字だけで行っているイメージです。展開する前に、中身にどんなファイルが入っているか確認したいときは、t (list) オプションを使います。これを使えば、実際に解凍しなくても中身のリストだけを見ることができます。

4. 容量を節約!gzip形式でギュッと圧縮する

4. 容量を節約!gzip形式でギュッと圧縮する
4. 容量を節約!gzip形式でギュッと圧縮する

ただまとめるだけでなく、ファイルサイズを小さくしたい場合は「圧縮」機能を追加します。Linuxで最も一般的な圧縮方式は gzip(ジージップ) です。

tarコマンドでgzip圧縮を行うには、オプションに z を加えるだけです。圧縮されたファイルは、名前の最後に .tar.gz を付けるのが一般的なマナーとなっています。これを「タージーゼット」や「タードットジーゼット」と呼びます。

実際に、フォルダを圧縮しながら一つにまとめてみましょう。


tar -czvf work.tar.gz work_folder
work_folder/
work_folder/main.c
work_folder/config.h

この -czvf という組み合わせは、Linuxの操作の中で最も頻繁に登場する呪文のようなものです。c(作る)、z(圧縮する)、v(見せる)、f(ファイル名指定)と覚えておきましょう。サイズを確認すると、元のフォルダよりもずっと小さくなっているはずです。

5. 圧縮されたファイルを一気に解凍する方法

5. 圧縮されたファイルを一気に解凍する方法
5. 圧縮されたファイルを一気に解凍する方法

.tar.gz という拡張子がついたファイルを解凍するときは、作成時と同じように z オプションを x と組み合わせて使います。

「圧縮されているから、まず解凍して、それからアーカイブを解凍して……」と二段階の手順を踏む必要はありません。tarコマンドなら一撃で完了します。


tar -xzvf work.tar.gz
work_folder/
work_folder/main.c
work_folder/config.h

最近のLinux(モダンなバージョン)では、実は z オプションを省略しても、tarコマンドが自動的に「あ、これはgzipで圧縮されているな」と判断して適切に処理してくれることも多いです。しかし、古いシステムや厳格な環境では明示的に指定する必要があるため、初心者のうちは -xzvf としっかり書く癖をつけておくのが上達の近道です。

6. さらに強力な圧縮!bzip2とxzの使い方

6. さらに強力な圧縮!bzip2とxzの使い方
6. さらに強力な圧縮!bzip2とxzの使い方

gzipよりもさらに強力にファイルを小さくしたい場合に、別の圧縮方式を使うことがあります。それが bzip2xz です。使い方は簡単で、オプションの一文字を変えるだけです。

圧縮方式 オプション 拡張子 特徴
gzip z .tar.gz 一般的。処理が速い。
bzip2 j .tar.bz2 gzipより小さくなる。
xz J (大文字) .tar.xz 最強の圧縮率。時間はかかる。

例えば、最高ランクの圧縮率を誇る xz 形式でアーカイブを作る場合は、次のように入力します。


tar -cJvf archive.tar.xz my_data
my_data/
my_data/heavy_file.dat

大きなデータをインターネットで配布するときなどは、この xz 形式がよく使われます。相手が解凍に時間をかけても、ダウンロードサイズを極限まで減らしたいという配慮ですね。

7. 指定した場所に解凍する便利なテクニック

7. 指定した場所に解凍する便利なテクニック
7. 指定した場所に解凍する便利なテクニック

デフォルトでは、tarコマンドは「今自分がいる場所」にファイルを解凍します。しかし、「別のフォルダ(ディレクトリ)に中身を吐き出したい」という時もありますよね。そんな時に便利なのが -C オプションです。これは「Change directory」の略です。

例えば、ダウンロードした software.tar.gz を、一時的に /tmp というフォルダの中に展開したい場合は、次のようにルート権限(管理者権限)を借りて実行したりします。


tar -xzvf software.tar.gz -C /tmp
software/
software/install.sh
software/readme.txt

この -C オプションを使えば、わざわざ目的のフォルダに移動してからコマンドを打つ手間が省けます。特に、システム全体に関わる設定ファイルを特定の場所へ配置する際に、システム管理者(ルートユーザー)がよく使う手法です。大文字の C であることに注意しましょう。

8. 初心者が絶対に注意すべきポイントと失敗しないコツ

8. 初心者が絶対に注意すべきポイントと失敗しないコツ
8. 初心者が絶対に注意すべきポイントと失敗しないコツ

tarコマンドを使う上で、初心者が陥りやすい罠がいくつかあります。安全に操作するために、以下の3点は必ず意識してください。

一つ目は、「fオプションは必ず最後に書く」ことです。-f の直後にはファイル名が来ると決まっています。例えば -fvz と書いてしまうと、コンピュータは「z」という名前のアーカイブファイルを探そうとしてエラーになります。必ず -cvf-xzvf のように、f を一番右側に置きましょう。

二つ目は、「解凍する前に中身の構造を確認する」ことです。たまに、アーカイブの中身がフォルダにまとまっておらず、解凍した瞬間にカレントディレクトリ(今いる場所)が数百個のファイルで埋め尽くされる「テロ」のような現象が起きます。これを防ぐために、まずは -tvf で中身を見て、フォルダに入っているか確認しましょう。

三つ目は、「同じ名前のファイルに注意する」ことです。解凍先に同名のファイルがあると、警告なしに上書きされてしまうことがあります。大事なデータを消してしまわないよう、解凍専用の新しいディレクトリを作ってからその中で作業するのが、プロのエンジニアも行っている安全な方法です。

9. 似たコマンド「zip」との違いと使い分け

9. 似たコマンド「zip」との違いと使い分け
9. 似たコマンド「zip」との違いと使い分け

Windowsでおなじみの「zip」形式も、Linuxで使うことができます。では、なぜわざわざ tar を使うのでしょうか?

大きな理由は「パーミッション(権限)」の保存にあります。Linuxには、ファイルごとに「誰が読み書きできるか」という大切な設定がありますが、標準的なzip形式ではこの情報を完全に保持できないことがあります。tar なら、Linux特有の所有者情報や実行権限をそのままの状態でパックできるため、プログラムの配布やバックアップには tar が最適なのです。

逆に、Windowsを使っている友達にファイルを送る場合は、相手が tar.gz を開けない可能性があるため、zip コマンドを使ってあげるのが親切でしょう。状況に合わせて、最適な道具を選べるようになるのが、Linuxマスターへの第一歩です。

カテゴリの一覧へ
新着記事
New1
AWS PrivateLink
AWS PrivateLinkでサービスを提供する手順(提供者側の設定)
New2
VPN(プライベートネットワーク)
AWS VPNのCloudWatchメトリクスを使った監視方法を初心者向けに徹底解説!
New3
ELB(ロードバランサー)
AWS ELBのログ記録を有効化してアクセス解析する方法を初心者向けに解説!
New4
VPN(プライベートネットワーク)
AWS VPNのステータス確認とトラブルシューティング方法を初心者向けに解説!
人気記事
No.1
Java&Spring記事人気No1
S3(オブジェクトストレージ)
AWS S3の料金体系をわかりやすく解説
No.2
Java&Spring記事人気No2
AWS 基本
AWSの公式料金計算ツール(Pricing Calculator)の使い方
No.3
Java&Spring記事人気No3
S3(オブジェクトストレージ)
AWS S3のデータ保護(オブジェクトロック・WORM設定)を初心者向けにやさしく解説
No.4
Java&Spring記事人気No4
RDS(データベース)
AWS RDSのスナップショットを手動で作成・復元する方法を初心者向けにやさしく解説!
No.5
Java&Spring記事人気No5
ELB(ロードバランサー)
AWS ELBでターゲットグループを設定する方法を初心者向けに解説!
No.6
Java&Spring記事人気No6
RDS(データベース)
AWS RDSのスケーリング(インスタンスサイズ変更)を初心者向けにやさしく解説!
No.7
Java&Spring記事人気No7
EC2(仮想サーバ)
AWS EC2のEBSスナップショットでバックアップを取る方法を初心者向けにやさしく解説
No.8
Java&Spring記事人気No8
Direct Connect(専用線接続)
AWS Direct Connectの接続タイプ(Dedicated・Hosted)を初心者向けにやさしく解説