総合手引 | セクション 1 | English | オプション |
最初の書式フォームでは "まとめ" (bundled) オプション形式を表しています。 この使用法は、これまでの実装との互換性のために提供されています。 詳細は後述の「互換性」を参照してください。
その他の書式フォームが、好ましい使用法を表しています。 tar への最初のオプションは、次の一覧にあるモードの指示です:
| 指定されたアイテムを含んだ、新しいアーカイブを作成します。 |
|
|
| 標準出力にアーカイブ内容のリストを出力します。 |
|
|
| アーカイブからディスクに展開します。 もし同名のファイルがアーカイブ内に 2 回以上現れた場合、それぞれのコピーが 展開され、後のものがそれ以前のコピーを上書き (置換) します。 |
展開またはリストモードにおいて、アーカイブをオープンする前に コマンドライン全体が読み込まれ、解析されます。 コマンドラインのパス名またはパターンは、アーカイブ内の処理対象となる アイテムを示します。 パターンはシェル形式のグロブパターンであり、XXXX に文書化されています。
@ archive | |
(c および r モードのみ)
指定されたアーカイブがオープンされ、そのエントリが現在の
アーカイブに追加されます。
簡単な例として、
Fl ではファイル newfile と、 original.tar の全てのエントリを含む、新しいアーカイブを標準出力に書き出します。 対照的に、 Fl では、二つのエントリのみの新しいアーカイブを作成します。 また、 Fl では標準入力からアーカイブを読み込み (フォーマットは自動的に判別)、 gzip で圧縮した pax フォーマットアーカイブに変換して、標準出力に出力します。 このように、 tar はアーカイブのフォーマットを別のものに変換する為に使うことが出来ます。 | |
| |
テープドライブの I/O に対するブロックサイズを、512 バイトレコード単位で 指定します。 一般に、本引数はテープドライブに読み書きする時、デフォルトブロックサイズで ありごく一般的な 20 レコード (10240 バイト) を用いない場合のみに必要となります。 | |
| |
c および r モードにおいて、続くファイルを追加する前に、ディレクトリを 変更します。 x モードにおいては、アーカイブをオープンした後、エントリをアーカイブから 展開する前にディレクトリを変更します。 | |
| |
(c および r モードのみ) 各ファイルへのすべてのリンクがアーカイブされないなら、 警告メッセージを発行します。 | |
| |
指定したパターンにマッチするファイルやディレクトリを、処理しません。 なおこれはコマンドラインで指定したパターンやファイル名よりも優先します。 | |
| |
(c モードのみ) 作成するアーカイブのフォーマットを指定するのに用います。 サポートされるフォーマットには、 "cpio", "pax", "shar", "ustar" があります。 また他のフォーマットもサポートされているかもしれません。 現在サポートされているフォーマットの詳細な情報については、 libarchive-formats(5) [英語] を参照してください。 | |
| |
指定されたファイルを、読み書きするアーカイブにします。 ファイル名を - にすれば、標準入力または標準出力になります。 指定しない場合、デフォルトのテープデバイスが使用されます (FreeBSD の場合、デフォルトのテープデバイスは /dev/sa0) 。 | |
| |
(x および t モードのみ) 各パターンまたはファイル名オペランドにマッチするエントリのうち、 最初のアーカイブエントリだけを展開またはリスト表示します。 各パターンまたはファイル名にマッチすれば、すぐに終了します。 同名のエントリが複数存在でき、また慣習として後のエントリがそれ以前のエントリを 上書きする為に、デフォルトではアーカイブは常に最後まで読み込まれます。 本オプションは性能の最適化の為に提供されています。 | |
| |
(c および r モードのみ) コマンドラインで指定されたシンボリックリンクを追跡します。 リンク自身ではなく、リンクの対象をアーカイブします。 | |
| |
(c および r モードのみ)
| |
| |
指定したパターンにマッチしたファイルまたはディレクトリのみ処理します。
なおこの指定よりも、
Fl では、 old.tgz のエントリのうち、文字列 'foo' を含んでいるものだけを含む、新しいアーカイブ new.tar を作成します。 | |
| |
(c モードのみ) 作成するアーカイブを bzip2(1) で圧縮します。 展開またはリストモードでは、本オプションは無視されます。 なお他の tar 実装と異なり、本実装ではアーカイブを読み込む際には、bzip2 圧縮を 自動的に判別します。 | |
| |
(x モードのみ) 既存のファイルを上書きしません。 特に、アーカイブ内に 2 回以上現れるファイルであっても、後のコピーが それ以前のコピーを上書きすることはしません。 | |
| |
(c および r モードのみ) 全てのシンボリックリンクを追跡します。 通常、シンボリックリンクはそのままアーカイブされます。 本オプションにより、リンクの対象が代わりにアーカイブされます。 | |
| |
POSIXLY_CORRECT
が環境で指定されるなら、これは
| |
| |
(x モードのみ) ファイル更新時刻を展開しません。 デフォルトでは、更新時刻はアーカイブに納められている時刻に設定されます。 | |
| |
(c, r, u モードのみ) ディレクトリ内のファイルを再帰的にアーカイブしません。 | |
| |
(c および r モードのみ) nodump ファイルフラグの立ったファイルをスキップします。 | |
| |
(x, t モードのみ) 展開 (-x) モードでは、ファイルはディスクに展開されずに標準出力に 書き込まれます。 リスト (-t) モードでは、ファイルリストは通常の標準出力でなく標準エラーに 書き込まれます。 | |
| |
(x モードのみ)
ユーザとグループを、アーカイブが指定したものではなく、
本プログラムを実行しているユーザのものを使用します。
なおこれは
| |
| |
パス名を保持します。 デフォルトでは、アーカイブの作成と展開の両方において、絶対パス名 (/ 文字で 始まっているもの) の最初のスラッシュは取り除かれます。 また tar は、パス名に .. を含んでいたり、対象ディレクトリをシンボリックリンクで変更する アーカイブエントリを展開するのを拒否します。 本オプションはこの振舞いを抑制します。 | |
| |
(x モードのみ)
ファイルパーミッションを保持します。
アーカイブから各アイテムを展開する際、可能ならば、所有者、ファイルモード、
ファイルのフラグと ACL を含む、全てのパーミッションをリストアしようとします。
デフォルトでは、新規作成するファイルの所有者は
tar
を実行するユーザとなり、新規作成する通常ファイルに関してはファイルモードが
リストアされ、またこれら以外のタイプのエントリはデフォルトのパーミッションに
なります。
もし
tar
を root が実行した場合、
| |
| |
(c モードのみ) アーカイブすべきファイル名を filename から読み込みます。 ファイル名は改行で区切られます。 特別な名前である "-C" により、カレントディレクトリをその次の行で指定されたディレクトリに変更します。 | |
| |
(x モードのみ) ファイルを作成する前に、いったん削除します。 本オプション無しでは、 tar は既存のファイルを上書きし、既存のハードリンクを保持します。 本オプションにより、既存のハードリンクは破棄され、同様に、 展開されるファイルの場所に影響を及ぼすシンボリックリンクも破棄されます。 | |
| |
冗長な出力を表示します。
作成及び展開モードにおいて、
tar
はアーカイブに書き込み、またはアーカイブから読み出した各ファイルの名前を
リスト表示します。
リストモードにおいて、
tar
は
ls(1)
に似た出力を表示します。
| |
| |
ロングオプション
( | |
| |
あらゆる操作に対し、確認を求めます。 | |
| |
指定されたファイルから除外パターンのリストを読み込みます。
除外の取り扱いに関する情報については
| |
| |
(c モードのみ) 作成するアーカイブを bzip2(1) で圧縮します。 展開またはリストモードでは、本オプションは無視されます。 なお他の tar 実装と異なり、本実装ではアーカイブを読み込む際には、bzip2 圧縮を 自動的に判別します。 | |
| |
(c モードのみ) 作成するアーカイブを gzip(1) で圧縮します。 展開またはリストモードでは、本オプションは無視されます。 なお他の tar 実装と異なり、本実装ではアーカイブを読み込む際には、gzip 圧縮を 自動的に判別します。 | |
LANG | 使用するロケール。 詳細は environ(7) を参照。 |
POSIXLY_CORRECT | |
この環境変数が定義されると、
| |
TAPE |
デフォルトテープデバイス。
|
TZ | 日付を表示する際に使用するタイムゾーン。 詳細は environ(7) を参照。 |
/dev/sa0 |
TAPE
環境変数か
|
Fl
アーカイブの詳細な内容一覧を表示します:
Fl
デフォルトのテープドライブにあるアーカイブの、全てのエントリを展開します:
Fl
作成モードにおいて、アーカイブされるファイルとディレクトリのリストには、 -C foo/baz の形式でディレクトリの変更命令を取り込むことが出来ます。 また @ archive-file の形式でアーカイブのエントリを取り込むことも出来ます。 例えば、次のコマンドライン
Fl
では、新しいアーカイブ new.tar を作成します。 tar はカレントディレクトリからファイル foo1 を読み込み、出力するアーカイブに追加します。 次に old.tgz の各エントリを読み込み、これらのエントリを、出力するアーカイブに追加します。 最後にディレクトリを /tmp に変更し、 foo2 を出力するアーカイブに追加します。
Cm
では、三つのフラグ t, b, および f を指定しています。 b と f フラグは、共に引数が必要ですので、二つの追加アイテムがコマンドラインに 必要です。 32 は b フラグに対する引数であり、また file.tar は f フラグに対する引数です。
モードオプションの c, r, t, u, x、およびオプションの b, f, l, m, o, v, w は、SUSv2 に準じています。
移植性を最大限にするために、 tar を実行するスクリプトは、上記のまとめオプション形式を使うべきであり、 モードオプションは c, t, x に、またオプションは b, f, m, v, w に制限するべきです。
getopt_long() をサポートするシステムでは、他の tar 実装との互換性を 増すために、ロングオプションが使用できます。
Fl
としてアーカイブの内容を調べるべきです。
tar
が既存のファイルを上書きしないことを保証するには
ustar と pax 間のファイルフォーマット変換については、pax コマンドの IEEE Std 1003.1-2001 ("POSIX.1") にて定義されています。
本ソフトウェアは libarchive(3) [英語] ライブラリをベースにした、完全な再実装です。
全てのアーカイブ出力は、出力を圧縮していても、正しいサイズのブロックで 書き出されます。 最後の出力ブロックがブロックサイズの大きさにパディングされるかどうかは、 フォーマットと出力デバイスによって変わります。 tar と cpio フォーマットにおいて、出力が標準出力、キャラクタ型デバイス、 もしくはテープドライブのようなブロック型デバイスの場合、 出力の最後のブロックはブロックサイズの大きさにパディングされます。 出力を通常ファイルに書き込む場合、最後のブロックはパディングされません。 gzip(1) や bzip2(1) を含む多数の圧縮ソフトウェアは、 tar で作成されたアーカイブを復元する時、このヌルパディングについて文句を言いますが 展開は正常に行えます。
圧縮と復元機能は内部で実装されているので、
Fl
により作成した圧縮出力と、
Fl
により作成した圧縮出力には、些細ですが違いがあります。
デフォルトでは標準の I/O パスでアーカイブを読み書きするべきですが、 伝統的に (および POSIX では) 他のものを要求します。
r および u モードでは、アーカイブは非圧縮でディスク上に通常ファイルとして存在する 必要があります。 他のアーカイブは c モードと @archive-file 拡張を用いて更新することが出来ます。
@foo や -foo といった名前のファイルをアーカイブするには、それぞれ ./@foo や ./-foo という形式で指定する必要があります。
作成モードにおいて、先頭にある
./
は常に削除されます。
先頭にある
/
は、
作成及び展開における、ファイル選択のよりよいサポートが必要です。
マルチボリュームアーカイブ、および疎なファイルに対するサポートはまだありません。
異なるアーカイブフォーマット (tar と cpio など) を @ - により変換すると、ハードリンク情報が失われます (これは異なるアーカイブフォーマットでハードリンク情報を格納していることからくる 当然の結果です)。
故意にドキュメント化していない、多くのショートオプションの代わりになる ロングオプションがあります。
BSDTAR (1) | April 13, 2004 |
総合手引 | セクション 1 | English | オプション |
このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.
“ | A typical Unix /bin or /usr/bin directory contains a hundred different kinds of programs, written by dozens of egotistical programmers, each with its own syntax, operating paradigm, rules of use ... strategies for specifying options, and different sets of constraints. | ” |
— The Unix Haters' handbook |