【Linuxコマンド】tarでアーカイブを作成・展開する方法

Linuxでは複数のファイルを書庫化するのに便利な「tar」コマンドがあります。

ここでは「tar」コマンドについて以下の内容で解説していきます。

linux_tar

この記事では「tar」コマンドについてわかりやすく解説していますので、ぜひ使い方を覚えておきましょう!

tarコマンドとは

Linuxでは、複数のファイルをまとめて1つのアーカイブファイルとして作成するには「tar」コマンドを使用します。

「tar」コマンドで作成されたアーカイブは拡張子「.tar」として書庫化されて、ファイルの圧縮はされずに1つのファイルをまとめて管理することを目的としています。

圧縮するには「zip」コマンドや後述する拡張子「.tar.gz」形式で行う方法があります。

zipコマンドについては以下の記事で詳しく解説しています。

tarコマンドのオプション

以下はtarコマンドで使用する主なオプションです。

オプション説明
c新規にアーカイブを作成する
v圧縮・展開時に詳細を表示する
fアーカイブファイルを指定する
zgzipの圧縮処理を行う
tアーカイブファイルの一覧を表示する
xアーカイブを展開

tarコマンドの使い方

ここではパターン別に「tar」コマンドの使い方を見ていきましょう。

アーカイブを作成する

通常「tar」コマンドでアーカイブを作成するにはオプション「cvf」を使用します。

tarでアーカイブを作成するには、以下のように記述します。

$ tar cvf アーカイブ名 ファイル1 ファイル2…

以下の例ではファイル「test01.txt」「test02.txt」をtest.tarの名称で指定してアーカイブを作成しています。

$ tar cvf test.tar test01.txt test02.txt

実行結果:
tar_image01

このようにtest.tarのアーカイブが作成されていることがわかりますね!

アーカイブを展開

アーカイブしたファイルを展開するにはオプション「x」を使用します。

$ tar xvf アーカイブ名

以下ではアーカイブtest.tarを展開しています。

$ tar xvf test.tar

実行結果:
tar_image02

tarファイルが展開されていることがわかりますね!

圧縮したアーカイブを作成する

tarコマンドで圧縮してアーカイブ(tarファイル)を作成するにはオプション「z」を使用します。

圧縮したアーカイブを作成するには、以下のように記述します。

$ tar cvzf アーカイブ名 ファイル1 ファイル2…

圧縮時はアーカイブの拡張子は「tar.gz」を指定する必要がありますので注意しましょう。

以下はtest01.txtとtest02.txtをtest.tar.gzで圧縮アーカイブを作成しています。

$ tar cvzf test.tar.gz test01.txt test02.txt

実行結果:
tar_image03

拡張子tar.gzのファイルが作成され、サイズも圧縮されていることがわかりますね!

圧縮したアーカイブを解凍・展開する

圧縮してアーカイブしたファイルを解凍して展開するには、アーカイブ同様オプション「x」を使用します。

$ tar xvzf アーカイブ名

以下ではアーカイブtest.tar.gzを解凍・展開しています

$ tar xvzf test.tar.gz

実行結果:
tar_image04

一覧を表示

アーカイブされているファイルの一覧を取得したい場合はオプション「t」を使用します。

$ tar tf test.tar.gz

実行結果:
tar_image05
このようにアーカイブされているファイルが表示されます。

Linuxについてもっと知りたい方へ

そもそもLinuxについて、

「実はなんとなくしか理解していない…」
「Linuxを効率よく学習する方法が知りたい」

といった情報を知りたい方は、以下の記事も参考にしてみてくださいね!



まとめ

ここでは、Linuxでファイルをアーカイブする「tar」コマンドについて、

  • tarコマンドとは
  • tarコマンドの使い方
  • tarコマンドのオプションと使い方

などについて解説しました。

「tar」コマンドはファイルを圧縮して受け渡ししたり、ソースファイル一式をやり取りするときによく使用しますのでこの機会に使い方をよく理解しておきましょう。

もし「tar」コマンドの使い方を忘れてしまったら、この記事を参考にしてくださいね。

Writer

侍エンジニア編集部

株式会社SAMURAI

侍エンジニアは「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。プログラミングに役立つ情報や有用な情報を発信していきます。

あなたの目的に合わせた
SAMURAI ENGINEERの運営サービス

SAMURAI ENGINEER Pro

未経験でも挫折しないプログラミングスクール

詳細はこちら

SAMURAI ENGINEER Plus

日本最大級のサブスク型オンラインITスクール

詳細はこちら

SAMURAI ENGINEER Freelance

「一人で稼げる」スキルを身につける

詳細はこちら
Close