tar形式(Tape Archive)のアーカイブの作成・展開を行うUNIXコマンド。
|
tarファイルの展開を行う。
アーカイブファイル内のディレクトリ構造のまま展開される。
-Cの指定が無い場合、カレントディレクトリに展開する。
tarファイルを作成する。
ファイルを指定する際にディレクトリごと指定すると、その構造も保存される。
ファイルにディレクトリ名のみを指定すると、そのディレクトリの下のファイルがすべて保存される。
このディレクトリがルートから(ディレクトリ名が「/」か始まる)のときは、先頭の「/」が削除された状態で保存される。
(Solarisでは(?)、ルートから始まる形式でファイル名を指定してアーカイブすると、解凍したときにそのままルートに展開されてしまうので要注意![2007-09-20])
アーカイブファイルが既に存在している場合は、前のアーカイブファイルは削除される。
ファイルが1つも無いアーカイブを作ろうとすると、面白いメッセージが見られる(アーカイブは作成できない。前のアーカイブファイルは残ったままとなる)。
-Cの指定が有る場合、各ファイルはそのディレクトリからの相対位置となる。
tarファイルにファイルを追加する。
アーカイブファイルが存在していなかった場合は、新しく作られる(-cオプションを兼ねる)。
その他については、-cオプションの場合と同じ。
tarファイルの中のファイルの一覧を表示する。
オプションは「-」(ハイフン)を付けて指定するが、1つずつ書かずにハイフンを省略できる。[2003-09-20]
つまり、「-xvf ファイル」=「-x -v -f ファイル」、「-xC
ディレクトリ」=「-x -C ディレクトリ」。
オプションの「-f」を付けると、アーカイブファイルを扱う。[2003-09-20]
これが無い場合、ファイルの代わりに標準入出力が対象となる。
例)tar -c dir | gzip > dir.tar.gz
例)gzip -cd archive.tgz | tar -xC 展開先ディレクトリ
アーカイブファイルを指定すべきところに「-」(ハイフン)を指定すると、ファイルの代わりに標準入力からのデータをアーカイブとして扱う。
例)gzip -cd アーカイブファイル | tar -xvf -
$ ls Test Test.class Test.java readme.txt $ vi list $ cat list Test/Test.class Test/Test.java Test/readme.txt $ tar -cvf test.tar `cat list` Test/Test.class Test/Test.java Test/readme.txt $ tar -tvf test.tar -rw-r--r-- user/users 687 2002-09-05 15:08:31 Test/Test.class -rw-r--r-- user/users 288 2002-09-05 15:08:31 Test/Test.java -rw-r--r-- user/users 34 2002-09-05 17:07:12 Test/readme.txt