Linuxでtarコマンドで複数のファイルをまとめる方法

Linuxでtarコマンドで複数のファイルをまとめる方法

Linuxで複数のファイルを1つにまとめた「アーカイブファイル」を作成/展開するときは、tarコマンドを利用することが多く、パッケージ配布形式としても一般的です。

そこでここでは「tar」コマンドの基本的な使用方法について紹介します。

この記事は、以下の環境での動作結果を基にしています。他のディストリビューションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
CentOS Linux7.4.1708

tarコマンドの書式とオプション

書式

tar [オプション...] [ファイル]...

主なオプション

オプション説明
-cアーカイブを作成します。
-xアーカイブからファイルを取り出します。
-fファイル名を指定します。
-v詳細な情報を表示します。
-zgzipによる圧縮・展開をサポートします。
-jbzip2による圧縮・展開をサポートします。
-rアーカイブにファイルを追加します。
--deleteアーカイブからファイルを削除します。
-Cカレントディレクトリを移動します。

tarコマンドのオプションでは「-」を省略できます。

tarコマンドの使用例

source_dirディレクトリを丸ごと「archive.tar」としてアーカイブしたいときは、以下のようにコマンドを実行します。

# tar cvf archive.tar source_dir

source_dirディレクトリを丸ごと「archive.tar」としてアーカイブしgzipで圧縮したいときは、以下のようにコマンドを実行します。

# tar zcvf archive.tar.gz source_dir

アーカイブファイル「archive.tar」を展開したいときは、以下のようにコマンドを実行します。

# tar xvf archive.tar

bzip2で圧縮されたアーカイブファイル「archive.tar.bz2」を展開したいときは、以下のようにコマンドを実行します。

# tar jxvf archive.tar.bz2

アーカイブファイル「archive.tar」の中身を表示したいときは、以下のようにコマンドを実行します。

# tar tf archive.tar

bzip2で圧縮されたアーカイブファイル「archive.tar.bz2」の中身を表示したいときは、以下のようにコマンドを実行します。

# tar tjf archive.tar.bz2

アーカイブファイル「archive.tar」に、ファイル「addfile.txt」を追加したいときは、以下のようにコマンドを実行します。

# tar rf archive.tar addfile.txt

アーカイブファイル「archive.tar」から、ファイル「sample.sh」を削除したいときは、以下のようにコマンドを実行します。

# tar vf archive.tar --delete sample.sh

あとがき

パッケージ管理システム以外からプログラムをインストールする場合などでは、tar形式で配布されているプログラムを利用することが多いと思います。Linuxの基本コマンドとしてマスターしておきたいところです。