TAR(1) FreeBSD 一般コマンドマニュアル TAR(1)
名称
tar − テープアーカイバ; "tar" アーカイブファイルの操作 |
書式
tar [[ |
−]bundled-options Args] [gnu-style-flags][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 オプション |
tar の他のオプションは、組み合わせて使用することができます。 1 文字オプ ションは、コマンド単語の中で指定することができます。引数を与えるべきオプ ションの場合、オプションに続けて引数を指定します。1 文字オプションであれ ば、これに続くコマンドライン引数を使用します (以下の 使用例を参照してくだ さい)。 |
−-help
tar のすべてのコマンドオプションについて一覧と解
説を表示します。 環境 |
環境変数 TAR_OPTIONS に tar のデフォルトオプションを保持させることが可能 です。これらのオプションは最初に解釈されますので、明示的なコマンドライン パラメータで上書き可能です。 |
使用例
bert と ernie というファイルを含む、ブロックサイズが 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 xf backup.tar ’*.[ch]’ |
シェルがカレントディレクトリ内のファイル名に展開しないよう、パターンを クォートしなければならないことに注意してください (当然、シェルはアーカイ ブ内のファイル一覧にアクセスすることはできません)。 ファイルを階層構造ごとコピーするには、このようにコマンドを使用してくださ い: tar cf - -C srcdir . | tar xpf - -C destdir ディスケットに、 gzip(1) を使った圧縮アーカイブを作成するには、次のような コマンドラインを使うといいでしょう。 |
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 TAPE TAR_RSH 関連ファイル |
/dev/sa0
デフォルトのテープドライブ 互換性 |
−y は FreeBSD だけの機能です。 GNU tar メンテナは、 −j を GNU tar 1.13.18 以降における公式な bzip2(1) 圧縮オプションとして採用しました。 −I オプ ションは、Solaris の tar との互換性のためにあります。 |
関連項目
歴史
tar フォーマットは立派な歴史を持っていて、Sixth Edition UNIX に原点があり ます。この tar の実装は GNU 実装であり、 John Gilmore によって書かれたパ ブリックドメイン tar が元になっています。 |
作者
次の人を含む、大変多くの人々。[ソースの中の 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 10.0 December 23, 2000 FreeBSD 10.0 |