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

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

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

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

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

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

tarコマンドの使い方

書式

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

主なオプション

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

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

使用例

source_dirディレクトリ内のファイルを「archive.tar」としてアーカイブするには

# tar cvf archive.tar source_dir

アーカイブファイル「archive.tar」を展開するには

# tar xvf archive.tar

source_dirディレクトリ内のファイルを「archive.tar」としてアーカイブし、gzipで圧縮するには

# tar zcvf archive.tar.gz source_dir

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の基本コマンドとしてマスターしておきたいところです。