tar(1) FreeBSD 一般コマンドマニュアル

tar

前のページ 上に戻る 次のページ

tar


         [filenames | -C directory-name] ...


解説

     tar は、歴史的な理由により ``tape archiver'' を省略して名付けられました。
     tar プログラムは、 tarfile と呼ばれる tar フォーマットのアーカイブファイ
     ルを作成し、アーカイブにファイルを追加したり、またアーカイブからファイル
     を抽出したりします。 tarfile は通常磁気テープを指しますが、フロッピディス
     ケットや通常のファイルでも構いません。

     通常、 tar コマンドラインの最初の引数は、機能文字および機能変更文字からな
     る単語であり、その前に ダッシュ (-) を付けても付けなくてもいいようになっ
     ています。単語には、次の機能文字のうち丁度 1 つを含んでいる必要がありま
     す: A, c, d, r, t, u, x, これらはそれぞれ、 追加 (append) 、 作成
     (create) 、 差分 (difference) 、 置換 (replace) 、 リスト表示 (table of
     contents) 、 更新 (update) 、 抽出 (extract) を意味しています (下記に詳細
     があります)。これらの他に、以下に詳細を述べる機能変更文字を、コマンド単語
     に含めることができます。それらのいくつかは、コマンド単語内と同じ順でコマ
     ンドライン引数を要求します ( 使用例の節を参照)。機能文字と機能変更文字
     は、GNU 形式の引数で指定することもできます (2 つのダッシュを最初に付け、1
     つのコマンド単語ごとに機能文字か機能変更文字を 1 つだけ指定する)。アーカ
     イブへの追加、アーカイブからの抽出、そしてリスト表示のためにコマンドライ
     ン指定するファイル名には、シェルのパターンマッチ文字列を使用することがで
     きます。


機能

     以下の機能のいずれか 1 つだけを必ず指定する必要があります。

     -A
     --catenate
     --concatenate  指定された ( tar アーカイブ形式の) ファイルを tar アーカイ
                    ブの末尾に追加します (追加する前の古い end-of-archive ブ
                    ロックは削除されます)。これは、指定されたファイルがアーカ
                    イブの中の 1 ファイルとなるのではなく、指定したファイルの
                    中に含まれているファイルを、最初に指定したアーカイブに追加
                    するという効果を持ちます。 注: このオプションは tarfile を
                    再書き込みする必要があるため、1/4 インチカートリッジテープ
                    では動作しません。
     -c
     --create       新しいアーカイブを作成して (もしくは古い内容を切り捨て
                    て)、指定されたファイルをアーカイブに書き込みます。
     -d
     --diff
     --compare      アーカイブの中のファイルと、それに相当するファイルシステム
                    内のファイルとの違いを調査します。
     --delete       指定されたファイルをアーカイブから削除します (1/4 インチテ
                    ープでは動作しません)。
     -r
     --append       アーカイブの末尾にファイルを追加します (1/4 インチテープで
                    は動作しません)。
     -t
     --list         アーカイブ内容のリスト表示をします。もし引数として
                    filename が指定されていれば、そのファイルだけがリスト表示
                    様に抽出されます)。もしアーカイブ内に、相当する同じファイ
                    ルが複数含まれていれば (上記の --append コマンドを参照)、
                    最後に含まれているものが他のすべてのファイルを上書きする形
                    で抽出されます。


オプション

     tar の他のオプションは、組み合わせて使用することができます。 1 文字オプ
     ションは、コマンド単語の中で指定することができます。引数を与えるべきオプ
     ションの場合、オプションに続けて引数を指定します。1 文字オプションであれ
     ば、これに続くコマンドライン引数を使用します (以下の 使用例を参照してくだ
     さい)。

     --help                  tar のすべてのコマンドオプションについて一覧と解
                             説を表示します。
     --atime-preserve        テープに書かれている、ファイルのアクセス時刻をリ
                             ストアします。 (inode の変更時刻が変更されること
                             に注意してください!)
     -b
     --block-size number     読み書きするブロックサイズを number * 512-byte ブ
                             ロック に設定します。
     -B
     --read-full-blocks      短い読みだしブロックを、完全なブロックに再組み立
                             てします ( 4.2BSD パイプの読み込み用)。
     -C directory
     --directory directory   残りの引数を処理する前に directory へ移動します。
     --checkpoint            アーカイブを読み書きする間に読み書きしたバッファ
                             の数を表示します。
     -f [hostname:]file
     --file [hostname:]file  指定された file (デフォルトは /dev/sa0) を読み書
                             きします。もし hostname が指定されていれば、 tarrmt(8) を使って、リモートマシン上の file を読
                             み書きします。 ``-'' はファイル名として使用される
                             こともありますが、これは標準入力から読み出した
                             り、標準出力へ書き出したりするために使用されま
                             す。
     --force-local           コロンがある時でさえ、アーカイブファイルはローカ
                             ルのものとします。
     -F file
     --info-script file
     --new-volume-script file
                             それぞれのアーカイブが終ると、スクリプトを実行し
                             ます (暗黙の -M 指定が行なわれます)。
     --fast-read             ワイルドカードで指定されていないすべての抽出ター
                             ゲットがアーカイブ内に見つかったら、その時点で終
                             了します。
     -G
     --incremental           古い GNU-format インクリメンタルバックアップファ
                             イルを作成/リスト/抽出します。
     -g file
     --listed-incremental file
                             新しい GNU-format インクリメンタルバックアップ
                             ファイルを作成/リスト/抽出します。

     -k
     --keep-old-files        ディスク上に既にあるファイルを保持します。つま
                             り、アーカイブから抽出するファイルは、ディスク上
                             のファイルへ上書きしません。
     -K file
     --starting-file file    アーカイブの中の file から (抽出、リストなどを)
                             始めます。
     -l
     --one-file-system       あるファイルシステム内にあるファイルだけでアーカ
                             イブを作成します (他ファイルシステムへのマウント
                             ポイントを跨ぎません)。
     -L number
     --tape-length number    number * 1024 バイト書き込んだ後でテープの交換を
                             要求します。
     -m
     --modification-time     ファイルの変更時刻を抽出しません。
     -M
     --multi-volume          マルチボリュームアーカイブを作成/リスト/抽出しま
                             す。
     -n
     --norecurse             作成時に再帰的にサブディレクトリを走査しません。
     --volno-file file       ボリューム番号付きのファイル名です。
     -N date
     --after-date date
     --newer date            作成時間が date より新しいファイルだけを抽出しま
                             す。
     --newer-mtime date      変更時間が date より新しいファイルだけを抽出しま
                             す。
     -o
     --old-archive
     --portability           POSIX フォーマットではなく、V7 フォーマットのアー
                             カイブを作成します。
     -O
     --to-stdout             ファイルを標準出力に抽出します。
     -p
     --same-permissions
     --preserve-permissions  保護情報を完全に抽出します。
     --preserve              -p -s の指定と同じ効果を持ちます。
     -P
     --absolute-paths        ファイル名から先頭の `/' をとりません。
     -R
     --record-number         メッセージ中にアーカイブ内のレコード番号を埋め込
                             み表示します。
     --remove-files          アーカイブに追加したファイルを、追加後に削除しま
                             す。
     -s
     --same-order
     --preserve-order        アーカイブ内から抽出するファイルを、指定された順
                             のままにします。
     --show-omitted-dirs     アーカイブ作成中に除外されたディレクトリを表示し
                             ます。
     -S
                             ます。ファイルの保護情報をファイル名とともに表示
                             させるには、 --list を使います。
     -V volume-name
     --label volume-name     指定された volume-name を持ったアーカイブを作成し
                             ます。
     --version               tar プログラムのバージョン番号を表示します。
     -w
     --interactive
     --confirmation          すべての動作に対して、確認を求めるようになりま
                             す。
     -W
     --verify                アーカイブを書き込んだ後、ベリファイを試みます。
     --exclude pattern       pattern にマッチするファイルを除外します (抽出し
                             ません。追加しません。リスト表示しません)。
     -X file
     --exclude-from file     file に一覧されているファイルを除外します。
     -Z
     --compress
     --uncompress            アーカイブを compress(1) でフィルタリングします。
     -z
     --gzip
     --gunzip                アーカイブを gzip(1) でフィルタリングします。
     --use-compress-program program
                             アーカイブを program でフィルタリングします (これ
                             は、 -d が指定されたときは ``decompress'' を意味
                             しなければなりません)。
     --block-compress        テープもしくはフロッピのために、圧縮プログラムの
                             出力をブロック化します (そうしないと、ブロック長
                             がおかしくなり、デバイスドライバはそのブロックを
                             拒絶するでしょう)。
     -[0-7][lmh]             テープドライブと密度を指定します。


環境

     環境変数 TAR_OPTIONS に tar のデフォルトオプションを保持させることが可能
     です。これらのオプションは最初に解釈されますので、明示的なコマンドライン
     パラメータで上書き可能です。


使用例

     berternie というファイルを含む、ブロックサイズが 20 ブロックのアーカ
     イブを、テープドライブ /dev/sa0 に作るには、
           tar cfb /dev/sa0 20 bert ernie
     もしくは
           tar --create --file /dev/sa0 --block-size 20 bert ernie
     と入力します。 -f および -b フラグは両方とも引数を必要としていることに注
     意してください。この引数は、コマンド単語に書かれているのと同じ順序でコマ
     ンドラインから取得されます。

     /dev/sa0 はデフォルトのデバイスであり、20 はデフォルトのブロックサイズで
     すので、上記の例は次のように単純化できます。
           tar c bert ernie
     "backup.tar" というアーカイブから、すべての C ソース及びヘッダを抽出する
     には、次のようにタイプします。
           tar --block-compress -z -c -v -f /dev/fd1a -b 36 tar/

     まとめ指定フラグと -- スタイルのフラグを混在させることができないことに注
     意してください。次のようにタイプしなければならないわけではなく、上記のよ
     うな書き方で 1 文字フラグを使うことができます。
           tar --block-compress --gzip --verbose --file /dev/fd1a --block-size
           20 tar/

     上のようにして作成したディスクの内容は、次のようにすればリスト表示できま
     す。

           tar tvfbz /dev/fd1a 36

     2 つの tar アーカイブを 1 つのアーカイブにまとめるには、
           tar Af archive1.tar archive2.tar
     を使います。こうすると、 archive2.tar に含まれているファイルが
     archive1.tar の末尾に追加されます (単純に
           cat archive2.tar >> archive1.tar
     とタイプしてもうまくいかないことに注意してください。なぜなら、 tar アーカ
     イブの末尾には end-of-file ブロックがあるからです)。

     srcdir ディレクトリから 1997 年 2 月 9 日 13:00 以降に変更をされた全ての
     ファイルをアーカイブするためには、以下の形式を使って下さい。
           tar -c -f backup.tar --newer-mtime 'Feb 9 13:15 1997' srcdir/

     他の時間指定形式としては、 `02/09/97 13:15', `1997-02-09 13:15', `13:15 9
     Feb 1997', `'9 Feb 1997 13:15', `Feb. 9, 1997 1:15pm', `09-Feb', `3 weeks
     ago', `May first Sunday' があります。正しいタイムゾーンを指定するために
     は、 `13:15 CEST' や `13:15+200' を使用して下さい。


環境変数

     tar プログラムは、以下の環境変数を参照します。

     POSIXLY_CORRECT  通常、 tar はファイル指定の中に混ざったフラグを処理しま
                      す。この環境変数を設定すると、 tar は最初のフラグ以外の
                      引数を見つけるとそれ以降の引数に対してフラグ処理を行なわ
                      ないという、POSIX 仕様に合わせた動作を行なうようになりま
                      す。

     SHELL            インタラクティブモードにおいて、サブシェルの起動が要求さ
                      れたとき、 SHELL 変数が設定されていればそれが、設定され
                      ていなければ /bin/sh が使用されます。

     TAPE             tar のデフォルトのテープドライブを変更します (これは、さ
                      らに -f フラグによって変更することができます)。

     TAR_RSH          TAR_RSH 環境変数は、デフォルトシェルに優先して、 tar の
                      データ転送に使用されます。


関連ファイル

     /dev/sa0  デフォルトのテープドライブ

     次の人を含む、大変多くの人々。[ソースの中の ChangeLog ファイルに記述され
     ている人々] John Gilmore (オリジナルのパブリックドメイン版の作者), Jay
     Fenlason (最初の GNU 作者), Joy Kendall, Jim Kingdon, David J. MacKenzie,
     Michael I Bushnell, Noah Friedman そしてバグフィックスや追加を貢献してく
     れた無数の人々。

     このマニュアルページは NetBSD 1.0 release から、 FreeBSD グループが取り込
     んだものです。


バグ

     特徴的な -C オプションの動作は、伝統的な tar プログラムのそれとは異なるの
     で、あまり頼りにはできません。

     -A コマンドで任意の数の tar アーカイブを結合できればいいのですが、それは
     できません。これをやろうとしても、2 つ目以降のアーカイブの end-of-archive
     ブロックが削除されずに残ってしまいます。

     tar ファイルフォーマットは準固定幅フィールドフォーマットであり、デバイス
     番号用のフィールドは 16 ビット用 (メジャー 8 ビットでマイナ 8 ビット) に
     デザインされており、我々の 32 ビット番号 (メジャー 8 ビットでマイナ 16+8
     ビット) を吸収できません。

FreeBSD 4.4                    December 23, 2000                   FreeBSD 4.4

ABELNET VPSサービス