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

tarで特定ファイルだけを展開する方法を完全ガイド!Linuxアーカイブの基本を初心者にもわかりやすく解説

Linuxのtarで特定ファイルだけを展開する方法
Linuxのtarで特定ファイルだけを展開する方法

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

生徒

「先生、tarファイルって全部を展開しないといけないんですか?中の一部だけ取り出したいんですが…」

先生

「いいえ、tarコマンドを使えば特定のファイルだけを展開することができますよ。大きなアーカイブファイルから必要なものだけ取り出せるので便利です。」

生徒

「それは便利ですね!でも、どうやって中身を確認したり、特定のファイルを指定したりするんですか?」

先生

「順番に説明していきますね。まずはtarファイルの中身を確認する方法から始めましょう。」

1. tarコマンドとアーカイブファイルの基本

1. tarコマンドとアーカイブファイルの基本
1. tarコマンドとアーカイブファイルの基本

tarコマンドは、Linuxで複数のファイルやディレクトリを一つにまとめるためのコマンドです。このまとめたファイルのことを「アーカイブファイル」や「tarファイル」と呼びます。

よく見かける拡張子は.tar.tar.gzです。.tar.gzは圧縮もされているファイルで、より容量が小さくなっています。これは引っ越しのときに荷物を段ボール箱に詰めるようなイメージで、複数のファイルを一つの箱にまとめて管理しやすくしているのです。

通常は全てのファイルを展開(取り出す)しますが、大容量のアーカイブから必要なファイルだけを取り出したい場合もあります。そんなときに特定ファイルの展開機能が役立ちます。

2. tarファイルの中身を確認する方法

2. tarファイルの中身を確認する方法
2. tarファイルの中身を確認する方法

特定のファイルを展開する前に、まずはアーカイブファイルの中に何が入っているのかを確認する必要があります。中身を見ずにファイル名を指定しても、タイプミスなどでうまくいかないことがあるからです。

アーカイブの中身を確認するには、-tオプション(listの意味)を使います。-tは「table of contents」の略で、目次を表示するという意味です。


tar -tf archive.tar
file1.txt
file2.txt
documents/report.pdf
images/photo.jpg

ここで-tは中身の一覧表示、-fはファイル名を指定するオプションです。-fの後には必ずアーカイブファイル名を書きます。圧縮されたファイル(.tar.gz)の場合は、-zオプションを追加します。


tar -tzf archive.tar.gz
config/settings.conf
data/database.sql
scripts/backup.sh

この一覧を見て、展開したいファイルのパスを正確に把握しましょう。パスとはファイルの場所を示す住所のようなもので、documents/report.pdfのように表示されます。

3. 特定ファイルだけを展開する基本的な方法

3. 特定ファイルだけを展開する基本的な方法
3. 特定ファイルだけを展開する基本的な方法

アーカイブの中身が確認できたら、いよいよ特定のファイルだけを展開してみましょう。基本的な書き方は以下の通りです。


tar -xf archive.tar ファイル名

ここで-xは「extract(抽出する)」の意味で、ファイルを展開するオプションです。実際の例を見てみましょう。


tar -xf archive.tar file1.txt
ls
archive.tar  file1.txt

このコマンドを実行すると、archive.tarの中からfile1.txtだけが取り出され、現在のディレクトリに展開されます。他のファイルは展開されないので、必要なものだけを素早く取得できます。

圧縮されたtarファイル(.tar.gz.tgz)から展開する場合は、-zオプションを追加します。


tar -xzf archive.tar.gz config/settings.conf

このように、ファイル名の指定は一覧表示で確認したパスをそのまま書きます。ディレクトリ名も含めて正確に入力することが重要です。

4. 複数の特定ファイルをまとめて展開する

4. 複数の特定ファイルをまとめて展開する
4. 複数の特定ファイルをまとめて展開する

一つだけでなく、複数の特定ファイルを同時に展開することもできます。ファイル名を空白(スペース)で区切って並べるだけです。


tar -xf archive.tar file1.txt file2.txt documents/report.pdf

この方法を使えば、必要なファイルだけを効率よく取り出せます。例えば、大きなバックアップファイルから特定の設定ファイルと重要なドキュメントだけを復元したいときなどに便利です。

ファイル名が長い場合や数が多い場合は、一行が長くなってしまいますが、バックスラッシュ(\)を使って改行することもできます。

5. ディレクトリ配下のファイルをまとめて展開する

5. ディレクトリ配下のファイルをまとめて展開する
5. ディレクトリ配下のファイルをまとめて展開する

特定のディレクトリ(フォルダ)の中にあるファイルを全て展開したい場合は、ディレクトリ名を指定します。これにより、そのディレクトリ以下の全てのファイルが展開されます。


tar -xf archive.tar documents/

このコマンドを実行すると、documentsディレクトリとその中の全てのファイルが展開されます。ディレクトリ名の最後にスラッシュ(/)を付けても付けなくても動作しますが、付けた方がディレクトリであることが分かりやすくなります。

これは、アーカイブの中で特定のプロジェクトフォルダだけを取り出したいときなどに役立ちます。例えば、複数のプロジェクトが入ったバックアップから一つのプロジェクトだけを復元する場合などです。

6. ワイルドカードを使った柔軟な展開方法

6. ワイルドカードを使った柔軟な展開方法
6. ワイルドカードを使った柔軟な展開方法

特定の拡張子を持つファイルだけを展開したい場合は、ワイルドカード(*)を使うことができます。ワイルドカードは「何でも当てはまる」という意味の特殊な記号です。

ただし、tarコマンドでワイルドカードを使う場合は、シェルによる展開を防ぐために--wildcardsオプションを付け、パターンをクォート(引用符)で囲む必要があります。


tar -xf archive.tar --wildcards '*.txt'

この例では、アーカイブの中から拡張子が.txtの全てのファイルが展開されます。シングルクォート(')で囲むことで、シェルではなくtarコマンドがワイルドカードを解釈するようになります。

また、特定のディレクトリ内の特定ファイルだけを展開することもできます。


tar -xf archive.tar --wildcards 'images/*.jpg'

この方法を使えば、画像ファイルだけ、設定ファイルだけといった柔軟な展開が可能になります。

7. 展開先のディレクトリを指定する方法

7. 展開先のディレクトリを指定する方法
7. 展開先のディレクトリを指定する方法

デフォルトでは、ファイルは現在のディレクトリに展開されますが、-Cオプション(Change directoryの意味)を使うことで展開先を指定できます。


tar -xf archive.tar -C /tmp/ file1.txt

このコマンドはfile1.txt/tmp/ディレクトリに展開します。-Cオプションの後には展開先のディレクトリパスを指定し、その後にファイル名を書きます。

この方法は、作業ディレクトリを移動せずに別の場所にファイルを展開したいときに便利です。例えば、一時的な作業ファイルを/tmpに展開したり、特定のプロジェクトディレクトリに直接展開したりできます。

8. よく使うオプションの組み合わせ

8. よく使うオプションの組み合わせ
8. よく使うオプションの組み合わせ

tarコマンドには多くのオプションがあり、組み合わせることでより便利に使えます。ここでは実務でよく使うパターンを紹介します。

-vオプション(verboseの意味)を追加すると、展開中のファイル名が表示されるので、処理状況が分かりやすくなります。


tar -xvf archive.tar file1.txt
file1.txt

圧縮形式によってオプションを使い分ける必要があります。.tar.gz.tgz-z.tar.bz2-j.tar.xz-Jを使います。

また、--keep-old-filesオプションを使うと、既存のファイルを上書きせずに展開できます。これは誤って重要なファイルを上書きしてしまうのを防ぐのに役立ちます。

9. gzipとbzip2で圧縮されたtarファイルの扱い

9. gzipとbzip2で圧縮されたtarファイルの扱い
9. gzipとbzip2で圧縮されたtarファイルの扱い

Linuxでは、tarファイルはさらに圧縮されていることが多く、圧縮形式によって使うオプションが変わります。最も一般的なのはgzip圧縮bzip2圧縮です。

gzip圧縮されたファイル(.tar.gzまたは.tgz)から特定ファイルを展開する場合は、-zオプションを使います。


tar -xzf backup.tar.gz config/database.conf
ls config/
database.conf

bzip2圧縮されたファイル(.tar.bz2)の場合は、-jオプションを使います。bzip2はgzipより圧縮率が高いですが、処理に時間がかかります。


tar -xjf archive.tar.bz2 documents/report.pdf

最近では.tar.xzという拡張子のファイルも増えています。これはxz圧縮で、さらに高い圧縮率を持ちます。この場合は-Jオプション(大文字のJ)を使用します。

圧縮形式を間違えるとエラーになるので、ファイルの拡張子をよく確認してから適切なオプションを選びましょう。

10. トラブルシューティングと注意点

10. トラブルシューティングと注意点
10. トラブルシューティングと注意点

tarで特定ファイルを展開する際に、いくつか注意すべき点があります。まず、ファイル名は完全一致でなければなりません。一覧表示で確認したパスと完全に同じものを指定する必要があります。

例えば、アーカイブ内のパスが./documents/file.txtの場合、documents/file.txtでは展開できないことがあります。先頭の./の有無に注意しましょう。

また、展開するとアーカイブ内のディレクトリ構造がそのまま再現されます。つまり、documents/report.pdfを展開すると、現在のディレクトリにdocumentsフォルダが作られ、その中にreport.pdfが配置されます。

ファイルが見つからないというエラーが出た場合は、もう一度tar -tfでパスを確認しましょう。大文字小文字の違いやスペースの有無なども正確に合わせる必要があります。

権限の問題でエラーが出る場合もあります。特に/rootなど管理者権限が必要な場所に展開する場合は、sudoコマンドを使う必要があります。ただし、一般的な作業では通常のユーザー権限で十分です。

カテゴリの一覧へ
新着記事
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)を初心者向けにやさしく解説