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

MiniTool_ad

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

「tar」コマンドは、複数のファイルを1つにまとめた「アーカイブファイル」を作成/展開するコマンドです。Windowsで使用しているZIP形式は、複数のファイルをまとめるアーカイブと、ファイルの圧縮を同時に行いますが、tarコマンドは通常アーカイブだけを行います。

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

動作環境

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

# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)

書式とオプション

書式

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