カテゴリ: Linux 更新日: 2026/02/04

tarコマンドの使い方を完全ガイド!Linuxでファイルをまとめるアーカイブ作成の基本

Linuxのtarコマンドとは?アーカイブ作成の基本を解説
Linuxのtarコマンドとは?アーカイブ作成の基本を解説

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

生徒

「Linuxでたくさんのファイルを一つにまとめたいときはどうすればいいですか?WindowsのZIPファイルみたいな機能はありますか?」

先生

「Linuxでは主にtarコマンドというものを使いますよ。バラバラのファイルを一つの『アーカイブ』という塊にまとめることができるんです。」

生徒

「アーカイブ……?聞き慣れない言葉ですね。初心者でもコマンド一つで簡単にできるんでしょうか?」

先生

「もちろんです!オプションという『呪文』を組み合わせるだけで、作成も展開(解凍)も自由自在ですよ。基本からじっくり解説しますね。」

1. tarコマンドとは?アーカイブの役割を覚えよう

1. tarコマンドとは?アーカイブの役割を覚えよう
1. tarコマンドとは?アーカイブの役割を覚えよう

Linuxを操作していると、複数のファイルを誰かに送ったり、バックアップを取ったりする場面が出てきます。そのとき、ファイルが100個も200個もバラバラにあると不便ですよね。そこで登場するのがtar(ター)コマンドです。

tarコマンドは、複数のファイルやディレクトリ(フォルダ)を一つのファイルにまとめる「アーカイブ」という作業を行うために使われます。Windowsでいうところの「フォルダを右クリックして圧縮」に近いイメージですが、厳密には「まとめること(アーカイブ)」と「容量を小さくすること(圧縮)」は別の作業です。

語源は「Tape Archive(テープ・アーカイブ)」の略です。昔は磁気テープにデータを保存するために使われていた名残ですが、現代ではHDDやSSD上でデータを整理するための必須ツールとして定着しています。

2. アーカイブと圧縮の違いを理解する

2. アーカイブと圧縮の違いを理解する
2. アーカイブと圧縮の違いを理解する

パソコンを触り始めたばかりの方が混同しやすいのが「アーカイブ」と「圧縮」の違いです。ここを整理しておくと、Linuxの理解がぐっと深まります。

  • アーカイブ:複数のファイルを、順番に並べて一つの大きな箱(ファイル)に入れること。ファイルのサイズは合計値とほぼ変わりません。
  • 圧縮:データの中身を計算して、ファイル全体の容量を小さくすること。

tarコマンドは、基本的には「アーカイブ」を作るためのものですが、オプションを追加することで「アーカイブしながら同時に圧縮する」ことも可能です。料理で例えるなら、タッパーに料理を詰め込むのがアーカイブ、真空パックにして体積を減らすのが圧縮といったところでしょうか。Linuxの世界では、この両方を一度に行うのが一般的です。

3. tarコマンドの基本:アーカイブを作成する(cvf)

3. tarコマンドの基本:アーカイブを作成する(cvf)
3. tarコマンドの基本:アーカイブを作成する(cvf)

まずは、複数のファイルを一つにまとめる「アーカイブ作成」のやり方を見ていきましょう。最も基本的な形は、cvfというオプションを使います。

それぞれのアルファベットには意味があります。cは「Create(新しく作る)」、vは「Verbose(詳細を表示する)」、fは「File(ファイル名を指定する)」です。これらはセットで覚えるのがコツです。

たとえば、現在のディレクトリにあるphoto1.jpgphoto2.jpgを、backup.tarという名前のアーカイブにまとめる場合は以下のように入力します。


tar -cvf backup.tar photo1.jpg photo2.jpg
photo1.jpg
photo2.jpg

これで、2つの画像ファイルが入った「backup.tar」という一つのファイルが完成しました。lsコマンドで確認すると、新しいファイルができているのがわかります。

4. アーカイブの中身を確認する(tvf)

4. アーカイブの中身を確認する(tvf)
4. アーカイブの中身を確認する(tvf)

アーカイブを作った後、「この中には何のファイルが入っていたかな?」と中身を確認したくなることがあります。わざわざ元に戻さなくても、中身だけを覗き見ることができるのがtvfオプションです。

tは「Table of contents(目次)」の略だと覚えましょう。中身を表示するだけで、ファイルを取り出すわけではないので安心してください。


tar -tvf backup.tar
-rw-r--r-- user/user      1024 2026-01-09 10:00 photo1.jpg
-rw-r--r-- user/user      2048 2026-01-09 10:00 photo2.jpg

このように、中に入っているファイル名やサイズ、作成日時が一覧で表示されます。中身を忘れてしまったときに重宝する便利な「確認用」のコマンドです。

5. アーカイブを元に戻す・展開する(xvf)

5. アーカイブを元に戻す・展開する(xvf)
5. アーカイブを元に戻す・展開する(xvf)

まとめたファイルを元のバラバラの状態に戻すことを「展開(てんかい)」と言います。これにはxvfオプションを使います。xは「eXtract(抽出する・取り出す)」という意味です。

インターネットからダウンロードしたプログラムのソースコードや、バックアップデータをもとに戻したいときは、このコマンドを頻繁に使います。


tar -xvf backup.tar
photo1.jpg
photo2.jpg

実行すると、アーカイブの中に入っていたファイルが現在のディレクトリに書き出されます。もともとのbackup.tar自体は消えずに残りますので、何度でもやり直しが可能です。もし既に同じ名前のファイルがある場合は上書きされてしまうので、そこだけ注意しましょう。

6. 圧縮してアーカイブを作る(zcvf)

6. 圧縮してアーカイブを作る(zcvf)
6. 圧縮してアーカイブを作る(zcvf)

ここからが実践編です。実際の運用では、ただまとめるだけでなく、容量を節約するために「圧縮」も同時に行うことが多いです。最もよく使われるのが「gzip(ジー・ジップ)」という形式で、これを使うにはzオプションを加えます。

圧縮されたファイルは、名前の末尾に.tar.gzと付けるのがLinuxの慣習です。これを「ターボール」と呼んだりもします。非常に効率よく容量を減らすことができます。


tar -zcvf backup.tar.gz Documents/
Documents/
Documents/memo.txt
Documents/report.pdf

この例では、Documentsというディレクトリを丸ごと、圧縮したアーカイブにしています。フォルダの中にある大量のファイルを一気に一つの圧縮ファイルにできるため、サーバーのバックアップなどで非常に重宝される書き方です。

7. 圧縮されたアーカイブを展開する(zxvf)

7. 圧縮されたアーカイブを展開する(zxvf)
7. 圧縮されたアーカイブを展開する(zxvf)

先ほど作成した.tar.gzという形式のファイルを元に戻すには、作成時と同じようにzオプションをつけて展開します。つまり、zxvfとなります。

最近のLinuxのtarコマンドは賢いので、実はzを付け忘れても自動で判別して展開してくれることが多いですが、基本に忠実に「圧縮形式を揃えて命令する」のが正しい使い方です。もし管理者権限(rootユーザー)でしか触れない場所で作業する場合は、以下のように操作します。


tar -zxvf backup.tar.gz
Documents/
Documents/memo.txt
Documents/report.pdf

これで、圧縮されていたデータが解凍され、元のディレクトリ構造を保ったまま復元されました。このように、Linuxでは「まとめる」と「戻す」が対になっています。

8. 特定のファイルだけを取り出す方法

8. 特定のファイルだけを取り出す方法
8. 特定のファイルだけを取り出す方法

大きなアーカイブの中から「一つだけファイルを取り出したい」ということもあります。全部展開すると時間がかかるし、ディスクの容量ももったいないですよね。そんな時は、展開コマンドの最後にファイル名を指定します。

例えば、backup.tarの中からphoto1.jpgだけを取り出したい場合は以下のように記述します。特定のデータだけが必要なトラブル復旧時などに役立つテクニックです。


tar -xvf backup.tar photo1.jpg
photo1.jpg

これで、指定したファイルだけが取り出されました。他のファイルはアーカイブの中に残ったままで、現在のディレクトリには現れません。非常に効率的な操作方法です。

9. 他の圧縮形式(bzip2など)との違い

9. 他の圧縮形式(bzip2など)との違い
9. 他の圧縮形式(bzip2など)との違い

Linuxには、gzip(zオプション)以外にも「bzip2」や「xz」といったさらに強力な圧縮方式があります。これらは圧縮に時間がかかりますが、その分だけファイルのサイズをさらに小さくすることができます。

bzip2を使う場合はjオプション、xzを使う場合はJ(大文字)オプションを使います。拡張子はそれぞれ.tar.bz2.tar.xzとなります。用途に合わせて使い分けるのがLinuxマスターへの近道です。

オプション 圧縮形式 拡張子 特徴
-z gzip .tar.gz 最も一般的で、処理が速い。
-j bzip2 .tar.bz2 gzipより圧縮率が高いが、少し遅い。
-J xz .tar.xz 非常に圧縮率が高いが、処理に時間がかかる。
カテゴリの一覧へ
新着記事
New1
AWS PrivateLink
AWS PrivateLinkのユースケースと業界別活用事例|セキュアな通信の決定版
New2
AWS PrivateLink
AWS PrivateLinkのログ取得とトラブル対応手順を完全ガイド!初心者でもわかるセキュアな接続確認方法
New3
ファイル・ディレクトリ構造
Linuxの/etcディレクトリとは?設定ファイルの役割を初心者向けに徹底解説
New4
AWS Lambda
AWS Lambdaでログを確認する方法を完全解説!CloudWatch Logsで初心者でも安心運用
人気記事
No.1
Java&Spring記事人気No1
S3(オブジェクトストレージ)
AWS S3の料金体系をわかりやすく解説
No.2
Java&Spring記事人気No2
Linux ディストリビューション
Linuxディストリビューションとは?OSとの関係や初心者におすすめの種類を徹底解説!
No.3
Java&Spring記事人気No3
ELB(ロードバランサー)
AWS ELBでターゲットグループを設定する方法を初心者向けに解説!
No.4
Java&Spring記事人気No4
シェルとターミナル基礎
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.5
Java&Spring記事人気No5
Linux ディストリビューション
Ubuntuとは何か?特徴と向いている用途を初心者向けに徹底解説!
No.6
Java&Spring記事人気No6
AWS 基本
AWSのサービスのステータス確認方法(AWS Health Dashboard)
No.7
Java&Spring記事人気No7
RDS(データベース)
AWS RDSのセキュリティグループ設定方法を解説!初心者でも安心のクラウドデータベース対策
No.8
Java&Spring記事人気No8
ELB(ロードバランサー)
AWSのNetwork Load Balancer(NLB)の特徴と使い方を解説!初心者向けロードバランサー入門