よく使うLinuxコマンド

tar - 一般に使うコマンド

多くのファイルやディレクトリを一つのファイルにまとめる

■よく使う形(例)

※ディレクトリwww下のファイルをまとめて1つのファイルにする。

# ls -l www
-rw-r--r-- 1 www www 15954 Mar 13 2007 index.html

-rw-r--r-- 1 www www 15709 Nov 7 2006 index2.html

# tar -zcvf bkup.tar.gz www

www/index.html

www/index2.html

この例の場合は、ディレクトリwwwの下の2ファイルが、圧縮されて一つのファイル(bkuop.tar.gz)にまとめられたことになる。
ディレクトリを絶対パスで記述した場合は、展開時も絶対パスの位置にファイルが展開されるが、相対パスでのしていの場合は、カレントディレクトリに展開される。

※上記で圧縮したファイル(bkup.tar.gz)を、ディレクトリ/home/testの下に展開する。

# cd /home/test
# tar -zxvf bkup.tar.gz
www/index.html

www/index2.html

# ls -l /home/test/www
-rw-r--r-- 1 www www 15954 Mar 13 2007 index.html

-rw-r--r-- 1 www www 15709 Nov 7 2006 index2.html

tarコマンドで1つにまとめたときと同じディレクトリ構成が展開されることになる。

本来、ファイル群をオープンリールなどのテープ(ふっ古い!)にバックアップするときに良く使いましたが、今ではテープへのバックアップではほとんど使いません。 ですが、データを移動しやすいように一つのファイルにまとめるときに非常に便利なコマンドです。

例えば、あるディレクトリ化にファイルが数千個あったとして、それを他のマシンにFTPで移そうとすると、とんでもない時間がかかりますが、転送する前に1つのファイルにまとめて、転送先でtarファイルを展開するようにすると、驚くほど展開が速くなります。

またtarコマンドは、UNIX系ではほとんど互換性の問題はないため、OSが異なるマシンにデータを移す作業でも互換性を気にする必要がありません。

■主なオプション

オプション 機能説明
-c 新規にアーカイブを作成する。
-v 処理の詳細を出力する。
-f アーカイブファイルの名前を指定する。 (もしくはディバイスファイル名を指定する。)
-x アーカイブファイルを展開する。
-z zip形式に圧縮する。拡張子が~.tar から ~.tar.gz になる。
※その他、オプションは多数ありますが、専門のコマンドリファレンスやmanコマンド等でご確認下さい。