TAR(1) — NEWS-OS Programmer’s Manual
名称
tar − テープのアーカイブ
形式
tar [ key ] [ name ... ]
解説
tar は、複数のファイルを単一ファイル (通常は磁気テープだがどんなファイルでもよい) にセーブしたり、逆にリストアしたりします。 tar の動作は key 引数で制御されます。 key は文字列で、 コマンドの機能を指定する一文字と、 それに修飾を加えるものが 1つ以上付くこともあります。 tar のこの他の引数は、 どのファイルをダンプしたり リストアしたりするのかを指定するファイル名や ディレクトリ名です。 ディレクトリ名を指定した場合、 その中のサブディレクトリおよびファイルのすべてに対し (再帰的に)処理します。
キーの機能部は以下のいずれかで指定されます。
r 指定されたファイルをテープ上のファイルの終わりに追加するように 書き込みます。キー c は、この機能を含んでいます。
x 指定されたファイルをテープから取り出します。 指定のファイルが、 内容がテープに書き込まれたディレクトリと一致すると、 このディレクトリは(再帰的に)取り出されます。 ファイルのオーナ、 変更日付、 およびモードも(可能な場合)リストアされます。 ファイルを指定しなかったら、 テープの内容がそっくり取り出されます。 テープに同じ名称のファイルが複数存在すると、 最後のものが、 前のものすべてを重ね書きします。
t 指定されたファイル名がテープ上に現れるたびにそれを表示します。 ファイルを指定しないと、 テープに記録されているすべてのファイル名を表示します。
u 指定されたファイルが未だテープに格納されていないとき、 または既に格納されていても指定されたファイルがテープへ書き込み後、 変更されていれば、 そのファイルをテープに書き込みます。
c 新しいテープを作成します。 前のファイルのあとに追加するかわりにテープの最初から、 指定されたファイルを書き込んでいきます。 このコマンドは r を含んでいます。
希望する機能を選択する上記の文字に加えて、次の文字を使用できます。
o 出力の際、 tar は通常、 ディレクトリのオーナやモードについての情報を アーカイブに出力します。 tar の以前のバージョンでは、 この情報に出会うと、 下記のエラーメッセージが出力されます。
"<name>/:cannot create"
この修飾子はディレクトリ情報を出力しないようにします。
p この修飾子は、 現在の umask(2) を無視して、 ファイルを元のモードでリストアするよう指示します。 スーパーユーザだと、setuid と sticky 情報もリストアされます。
0,1,4,5,7,8
この修飾子はテープが装填される別のドライブを選択します。 デフォルトは /dev/rst00 です。
v tar コマンドは、 通常、 実行中何もメッセージを出力しません。 v (verbose) オプションを指定すると、 処理内容を表す文字を前につけて、処理対象のファイル名を出力します。キー t と併用すると名称以外の詳しい情報が得られます。
w tar は、コマンド動作 とそれに続くファイル名を表示した後、 ユーザの確認を待ちます。 ここで‘y’で始まる単語を入力すれば、 その動作を実行し、 それ以外の場合は実行しません。
f 次の引数を /dev/rst00 の代わりにアーカイブのファイル名として使用します。 もし、 指定されたファイル名が、 ‘−’であれば書き出しは標準出力へ、 読み込みは標準入力から行なわれます。 したがって、 tar はフィルタチェーンの先頭または末尾に使うことができます。 tar はまたファイルの階層構造を移動するのにも用いられます。 以下にその例を示します。
cd fromdir; tar cf − . | (cd todir; tar xf −)
b 次に指定する引数を、 テープレコードのブロッキングファクタとして使用します。 (1ブロックは 512 バイトです。)このオプション b を 指定しない場合のデフォルトは 20 ブロックとなります。 このオプションは、 ロー磁気テープアーカイブ (上記 f を参照)で使用します。 ブロックサイズは、 テープを読み込む時は、自動的に決定されます (キー文字は‘x’と‘t’) 。
l ダンプされるファイルへのリンク処理が未完の場合、 その旨を報告します。 この指定をしないとエラーメッセージが表示されません。
m 変更日時をリストアしません。 変更日時は取り出し時の日時です。
h シンボリックリンクをたどっていき、 それらをノーマルなファイルあるいは ディレクトリとして処理します。 通常、 tar はシンボリックリンクはたどりません。
B 入力および出力ブロッキングをレコード当たり 20 ブロックとします。 このオプションは tar が、 ブロッキングが維持できない通信チャネルにアクセス できるように追加されました。
C ファイル名の前に −C が付くと、 tar は、 そのファイル名に対し、 chdir(2) を実行します。 これによって、 隣接する共通の親と関連のない複数のディレクトリを、 短い相対パス名を使ってアーカイブすることができます。 たとえば、 ファイル形式 /usr/include および /etc からファイルをアーカイブするには、 以下のようにします。
tar c −C /usr/include −C /etc
tar の機能不足による、 ブロックされたアーカイブを正しく操作できないという以前の制約は解除されました。
関連ファイル
/dev/rmt?
/tmp/tar∗
関連事項
診断
キーの誤りやテープのリード/ライトエラーがあるとその旨が出力されます。
リンクテーブルを保持するためのメモリ容量がないと、 その旨がエラー出力されます。
バグ
同じファイルがいくつもあった時、 n 番目のファイルを取り扱うことはできません。
テープエラーが発生すると処理が中断します。
u オプションは時間がかかります。
ファイル名は現在 100 文字以内です。
シンボリックリンクをある時はたどり、 ある時はたどらないという方法はありません。
r または u オプションを用いて作成したテープから取り出す時、 ディレクトリ変更日時が正確でないことがあります。
NEWS-OSRelease 4.1C