総合手引 | セクション 1 | English | オプション |
<none> | |
一覧表示モードです。 標準入力 から読み込まれたアーカイブ内の格納ファイルのリストを 標準出力 へ書き出します。標準入力から読み込まれるファイルのパス名は、指定した pattern に一致するものが採用されます。 ファイル一覧は 1 行に 1 つのファイル名を含み、1 行バッファリングを行って 書き出されます。 | |
| |
読み込みモードです。
標準入力
からアーカイブを読み込み、その内に格納されたファイルのうち指定した
pattern
に一致するファイル名を持つファイルを展開します。
アーカイブフォーマット及びブロック化係数は、自動的に入力から決定されます。
展開されるファイルがディレクトリの場合、そのディレクトリ配下に連なる
ファイル階層は完全な形で展開されます。
展開される全てのファイルは、現在のファイル階層からの相対ディレクトリに
生成されます。展開されるファイルの所有権、アクセス時刻、更新時刻、
そしてファイルモードの設定についての詳細は、
| |
| |
書き込みモードです。 file オペランドで指定したファイル群のアーカイブを 指定したフォーマットで標準出力に書き出します。 file オペランドが指定されない場合には、1 行に 1 つずつ コピーするファイルを記述したリストを標準入力から読み込みます。 file オペランドがディレクトリの場合、そのディレクトリ配下の 全ファイルが作成されるアーカイブに含まれます。 | |
| |
コピーモードです。
ファイルオペランドで指定したファイル群を、指定した
ディレクトリ
にコピーします。
file
オペランドが指定されない場合には、1 行に 1 つずつ
コピーするファイルを記述したリストを標準入力から読み込みます。
file
オペランドがディレクトリの場合、そのディレクトリ配下のファイルがすべて、
コピー先として指定したディレクトリ配下に作成されます。
コピーモード
では、ファイルがアーカイブファイルに対して書き込まれ、
そして一方でそのアーカイブファイルが展開されるかのように見えます。
ただし、これはオリジナルファイルとコピーファイルの間に
ハードリンクが張られるかも知れない事を除きます
( 注意: コピー先の ディレクトリ には、コピー元にあるものと同じファイル名の file オペランドや file オペランドで指定されるディレクトリ階層の配下にあるファイル名などを 指定してはいけません。 そのような場合、 コピー の結果は予測できないものになります。 | |
読み込み
操作や
一覧表示
動作において壊れたアーカイブを処理する場合、
pax
は媒体破損を可能な限り復旧し、
アーカイブの中から可能な限りのファイルを処理しようと試みます (エラー時の
処理の詳細は
pattern オペランドは、アーカイブに格納されているファイルの名前を選択するために 用いられます。 アーカイブメンバは、 fnmatch(3) に記述のある表記に一致するパターンを用いて選択されます。 pattern オペランドが指定されない場合には、アーカイブ内に格納されている 全てのメンバが選択されます。 pattern がディレクトリ名と一致する場合には、そのディレクトリ配下の階層に 位置する全てのファイルが選択されます。 もしアーカイブ内に pattern オペランドの指定と一致する名前のファイルがない場合には、 pax は 標準エラー出力 に出力される診断メッセージにこの pattern オペランドを書き出し、0 以外のステータスでプログラムを終了します。
file オペランドは、コピーもしくはアーカイブされるファイルのパス名を指定します。 file オペランドが 1 つもアーカイブメンバを選択しない場合には、 pax は 標準エラー出力 に出力される診断メッセージにこの file オペランドの内容を書き出し、0 以外のステータスでプログラムを終了します。
| |
アーカイブファイルを 標準入力 から読み込み、 files で指定したファイルを展開します。 アーカイブされているファイルの展開に中間ディレクトリの作成が必要な場合、 これらのディレクトリは、 mkdir(2) の mode 引数のところに S_IRWXU, S_IRWXG, S_IRWXO の 論理和 を指定して呼び出された場合と同様に作成されます。 選択されたアーカイブ形式がリンクファイルの指定をサポートし、 かつアーカイブ展開時にリンク不可能である場合には、 pax は、処理が終了する時に、診断メッセージを 標準エラー出力 に書き出し、0 以外のステータスで終了します。 | |
| |
指定したアーカイブフォーマットで、 標準出力 にアーカイブを書き出します。 file オペランドが指定されない場合には、1 行につき展開するファイルのパス名 1 つを 記述したリストを 標準入力 から読み込みます。 このリストの各行の先頭や末尾には <空白> を入れてはいけません。 | |
| |
すでに存在するアーカイブファイルの後ろに、ファイル
files
を追加書き込みします。
注意: 多くの記憶装置は追加書き込み処理に必要な操作をサポートできません。 そのようなサポートしていないデバイスに対するアーカイブの追加書き込みは、 アーカイブの破損もしくは他の予期せぬ結果を招くことになります。 特に、テープドライブに対する追加書き込み処理は、最もサポートしそうにない ものです。 普通のファイルシステムのファイルとして、もしくはディスクデバイス上に 保存されているアーカイブについては、通常は追加書き込み処理をサポートします。 | |
| |
アーカイブを
書き出す
際、アーカイブへと書き出す内容を blocksize (正の整数) で指定したバイト数
でブロック化します。
blocksize
で指定出来る値は、512 の倍数でなくてはならず、最大は 64512 です。
32256 バイトより大きい場合
POSIX
標準違反であり、全システムで可搬であるわけではありません。
blocksize
で指定する数は、その最後に
k
もしくは
b
を付加することで、1024(1K) もしくは 512 の倍数として指定できます。
blocksizes
に指定する数字を
x
で区切ることで、文字 x で区切られた数字の積がブロックサイズとして採用されます。
アーカイブの書き込みのために指定するデバイスによっては、
ブロックサイズに対してさらに制限がかかることがあります。
ブロック化が指定されない場合には、デフォルトの
blocksize
は使用される特定のアーカイブフォーマットに依存します。
( | |
| |
pattern に指定されたパターンにマッチしたファイルおよび file オペランドで指定されたファイル 以外 の、全てのファイルもしくはアーカイブ内メンバにマッチします。 | |
| |
コピーもしくはアーカイブされるディレクトリ、もしくはアーカイブに格納され ているディレクトリについて、指定パターンに一致した名前のディレクトリもし くはアーカイブ内に格納されているディレクトリのみ処理し、そのディレクトリ 配下にあるファイルについては処理しません。 | |
| |
archive で指定したファイルを入力元のアーカイブもしくは出力先のアーカイブに指定し ます。この場合、デフォルトの 標準入力 ( 一覧表示モード および 読み込みモード の場合) もしくは 標準出力 ( 書き込みモード ) については無視されます。 1 つのアーカイブが複数のファイルもしくは異なるアーカイブデバイスに渡って も構いません。必要があった場合、 pax は、アーカイブの格納されている次のボリュームのファイルもしくはデバイスの パス名の入力を促します。 | |
| |
対話的にファイルもしくはアーカイブ内に格納されるファイルのリネームを行います。 pattern で指定した文字列パターンに一致するアーカイブ内の格納ファイルもしくは file オペランドの指定に一致するファイルについて、 pax は /dev/tty に対してファイルの名前やファイルモード、そしてファイルの更新時刻を表示して 入力を促します。 それから pax ユーティリティは /dev/tty からデータを 1 行読み込みます。 その行が空行だった場合には、その時のファイルもしくはアーカイブ内の 格納ファイルについては、処理を行いません。 その行がピリオド 1 つだけの行だった場合には、その時のファイルもしくは アーカイブ内の格納ファイルについては、ファイル名についての更新は行いません。 それ以外の場合には、ファイル名はその行の文字列で指定した名前に変更されます。 上記操作中に <EOF> を /dev/tty から受けとった場合、もしくは何らかの理由で /dev/tty をオープン出来なかった場合、 pax ユーティリティは 0 以外の終了ステータスで即座に終了します。 | |
| |
すでに存在するファイルに対する上書きをしません。 | |
| |
(アルファベットの ``エル'') ファイルをリンクします。
コピーモード
( | |
| |
アーカイブに格納されるファイルのうち、各
pattern
オペランドに指定した文字列パターンに一致するファイル名を持つ最初のものを
選択します。
アーカイブに格納されるファイルのうち
pattern
オペランドに指定した文字列パターン
に一致するもので、2 つめ以降のものは選択されません。
文字列パターンで指定した条件に合致するものがディレクトリだった場合、
そのディレクトリ配下のファイルについても選択されたものとみなされます(ただし、
| |
| |
| |
| |
1 つ以上のファイルの属性操作に関する動作をオプション指定します。
string
オプション引数は、ファイル展開時に、展開ファイルの属性を保存するか破棄す
るかを指定する文字列です。
string は、
a, e, m, o, p
の 5 つの指定文字から成ります。
複数の属性を同じ文字列の中につなげて記述したり、複数の
| |
a | ファイルのアクセス時間を保存しません。 デフォルトでは、ファイルのアクセスタイムは可能な限り保存されます。 |
e | ファイルのユーザ ID, グループ ID, ファイルモードのビット、ファイルの アクセス時間、ファイルの更新時間、これらの '全ての属性を保存します。' 本オプションは、 スーパユーザ、 もしくは適正な権限を持ったユーザによって 使用されることを推奨します。 これは、アーカイブ内に格納されたすべてのファイルについて、 そのファイルの特性を保存するためです。 フラグを指定した場合は、 o および p フラグを指定したのと同様の効果を持ちます。 |
m | ファイルの更新時間を保存しません。 デフォルトでは、ファイルの更新時間は可能な限り保存されます。 |
o | ユーザ ID とグループ ID を保存します。 |
p | ファイルモードのビットを '保存します。' 本オプションは、 ファイルについて、所有者情報以外の全ての情報の保存を希望するなど適正な 権限を持った ユーザ に使用されることを推奨しています。 ファイルの時刻はデフォルトで保存されますが、 これを無効にしたり、展開時の時刻を用いるようにするために 別に 2 つのフラグが用意されています。 |
先述のオプション一覧にて、 '属性の保存' とは、起動したプロセスの権限に応じて アーカイブ内に保存された属性が展開ファイルに反映されることを意味します。 これ以外の場合は、展開されるファイルの属性は、 通常のファイル生成と同様に決定されます。 e と o のどちらも指定されない場合、あるいは ユーザ ID とグループ ID がいかなる理由にせよ保存されない場合、 pax はファイル属性中の S_ISUID ( setuid) および S_ISGID ( setgid) のビットを設定しません。 これらの情報の引き継ぎが何らかの理由で失敗した場合、 pax は診断メッセージを 標準エラー出力 に書き出します。 これらの情報の保存失敗は、最終的な終了ステータスに影響しますが、 展開されたファイルが削除されるようなことはありません。 ファイル属性の操作に関するオプション文字が重複していたり、 他のオプション文字と処理上の競合を起こす場合には、 それらのオプションの中で一番最後に記述されたものの処理が採用されます。 例えば、
が指定された場合には、ファイルの更新時間は保存されます。
| |
アーカイブ内に格納されているファイルのうち、
pattern
オペランドもしくは
file
オペランドで指定されたもののファイル名を、
replstr
で指定された置換表現にしたがって更新します。この置換表現は、
ed(1)
にて記述されている正規表現の書法に準じます。
これらの正規表現の書式は
/old/new/[gp]
です。
ed(1)
に示されるように、
old
は基本的な正規表現であり、
new
はアンパサンド (&)、後方参照 (nの部分は数字が入ります)、
補助表現を含むことができます。
文字列
old
には、
改行文字
を含んでも構いません。
ヌル文字以外のいかなる文字も、区切り文字として用いることが可能です
(ここでは / を示しました)。
また、複数の
<original pathname> >> <new pathname> 空白文字に置換される通常ファイルもしくはアーカイブ内に格納されたファイルの ファイル名は、処理対象として選択されず、そのファイル名に対する 処理はスキップされます。 | |
| |
pax が読み込んだ、もしくはアクセスした全てのファイルやディレクトリの アクセス時間を、 pax がそれらのファイルやディレクトリを処理する前のものに再設定します。 | |
| |
同じ名前ですでに存在するファイルやアーカイブ内に格納されているファイルより 古い (ファイル更新時刻が古い) ファイルを無視します。 読み込み処理 においては、アーカイブ内のファイルにファイルシステム上にすでに存在するものと 同じ名前のファイルがあり、アーカイブ内のファイルの方が新しい場合に、 アーカイブ内のファイルが展開されます。 書き込み処理 においては、ファイルシステム上のファイルとアーカイブ内のファイルの名前が 同じもので、かつファイルシステム上のファイルの方がアーカイブ内のものより も新しい場合に、ファイルシステム上のファイルのアーカイブへの格納が行われます。 コピー処理 においては、コピー先にあるファイルとコピー元にあるファイルが同一のファイル名 を持ち、かつコピー元にあるファイルの方が新しい場合に、 コピーあるいはリンクが行われます。 | |
| |
一覧表示処理
において、
ls(1)
コマンドの
<ls -l listing> == <link name> アーカイブの他のメンバとの間にシンボリックリンクを構成するファイルの パス名については、以下のフォーマットで出力されます。 <ls -l listing> => <link name>
ここで <ls -l listing> の箇所は、
ls(1)
コマンドを
| |
| |
出力されるアーカイブフォーマットを指定します。デフォルトフォーマットは、 ustar フォーマットです。 pax ユーティリティは、現在以下のアーカイブフォーマットをサポートします: | |
cpio | IEEE Std 1003.2 ("POSIX.2") 標準にて規定される、拡張 cpio 交換形式です。 本フォーマットのデフォルトブロックサイズは、5120 バイトです。 このフォーマットで欠落するファイルの inode およびデバイス情報 (この フォーマットでファイルのハードリンクの検出に用いられます) は、 pax にて検出され、復元されます。 |
bcpio | 古い binary cpio フォーマットです。 本フォーマットのデフォルトのブロックサイズは、5120 バイトです。 本フォーマットはポータビリティがそれほどよくないので、別のフォーマットが 使えるならば、そちらを使用したほうがよいでしょう。 このフォーマットで欠落するファイルの inode およびデバイス情報 (この フォーマットでファイルのハードリンクの検出に用いられます) は、 pax にて検出され、復元されます。 |
sv4cpio | |
Unix System V Release 4(SVR4) の cpio フォーマットです。 本フォーマットのデフォルトのブロックサイズは 5120 バイトです。 このフォーマットで欠落するファイルの inode およびデバイス情報 (この フォーマットでファイルのハードリンクの検出に用いられます) は、 pax にて検出され、復元されます。 | |
sv4crc | SVR4 で使用される、ファイルの crc チェックサムつきの cpio フォーマットです。 本フォーマットのデフォルトのブロックサイズは 5120 バイトです。 このフォーマットで欠落するファイルの inode およびデバイス情報 (この フォーマットでファイルのハードリンクの検出に用いられます) は、 pax にて検出され、復元されます。 |
tar |
BSD 4.3
から用いられている古い
BSD
tar フォーマットです。
本フォーマットのデフォルトのブロックサイズは、10240 バイトです。
本フォーマットでは、アーカイブ内に格納されるファイルのパス名は 100 文字以内
でなくてはなりません。
通常ファイル、ハードリンクファイル、
シンボリックリンクファイル、ディレクトリ
のみがアーカイブ内に格納されます (他のファイルシステムタイプについては、
サポートされません)。
さらに古い tar フォーマットとの過去の互換性は、
|
ustar | IEEE Std 1003.2 ("POSIX.2") 標準にて規定される、 拡張 tar 交換形式です。 本フォーマットのデフォルトのブロックサイズは、10240 バイトです。 本フォーマットのアーカイブ内に保存されるファイルのパス名は、250 文字以下 の長さでなくてはなりません。 |
pax ユーティリティは、指定したアーカイブフォーマットの制限に起因して、ファイルの アーカイブへの格納もしくはアーカイブからのファイルの展開が出来ない場合には、 それを検出し、報告します。 各アーカイブフォーマットを使用した場合には、 使用時に更にそのアーカイブフォーマットの制限が課せられることがあります。 典型的なアーカイブフォーマットの制限は、ファイルのパス名の長さ、 ファイルサイズ、リンクファイルの指すファイルのパス名の長さ、 そしてファイルタイプなど。 (なお、制限要素はこれらに限られるわけではありません。)
| |
書き込み (読み取り) 時のアーカイブの圧縮 (伸長) に
gzip(1)
を使用します。
| |
| |
単一のアーカイブボリュームに書き出される最大データ長を、
bytes
で制限します。
bytes
パラメータの末尾には
m,
k,
b
のいずれかの文字を付加でき、それぞれ 1048576 (1M), 1024 (1K), 512 の倍数を
意味します。
また、
bytes
に指定する数字を
x
で区切ることで、文字 x で区切られた数字の積がブロックサイズとして採用されます。
警告: 最後の (もしくは最大の) 書き込み時のオフセットに基づいた EOF をサポートする デバイス (テープや通常ファイルなどのようなもの) にアーカイブを書き出す時 にのみ本オプションを使って下さい。 本オプションをフロッピやハードディスクデバイスファイルに対して用いる ことは、推奨しません。 | |
| |
本オプションは、
| |
| |
部分的に破損したアーカイブの読み込みをリトライする際、その読み込み失敗回数を
limit
までに制限します。
limit
に正の数を指定した場合、
pax
はアーカイブの読み込みエラーからの復帰を試行し、アーカイブに格納されて
いる次のファイルから処理を継続します。
limit
が 0 の場合、
pax
は最初のリードエラーがアーカイブボリュームに発生したところで処理を停止します。
limit
が
NONE
の場合には、読み込み失敗からの復帰を永遠に試行します。
デフォルトの
limit
の値は、小さい正の整数(リトライ回数)です。
警告: pax コマンドを、本オプションを NONE 指定して起動する場合には十分に気をつけて下さい。 というのも、処理対象となるアーカイブがぼろぼろに破損していた場合には、 処理が無限ループに陥る可能性があるからです。 | |
| |
グループ名が
group
で指定したものであるファイルを選択します。
グループ名が
#
で始まる場合には、ファイルのグループ ID がそれに連なる数字のものを
選択します。'\' を用いて
#
をエスケープすることができます。
| |
| |
物理的にファイルシステムトラバースを行いながら、 コマンドラインで指定されたファイルについてのみ シンボリックリンクをたどります。 | |
| |
全てのシンボリックリンクファイルをたどります。 すなわち、論理的にファイルシステムトラバースを行います。 | |
| |
シンボリックリンクをたどりません。 すなわち、物理的にファイルシステムトラバースを行います。 デフォルトはこのモードです。 | |
| |
ファイル更新時間もしくは inode 更新時間が
from_date
から
to_date
の間 (それぞれで指定した時間も含みます) にあるファイルを選択します。
from_date
のみ指定された場合には、ファイル更新時間もしくは inode 更新時間が
その時間と同じかそれより新しいもののみ選択されます。
to_date
のみ指定された場合には、ファイル更新時間もしくは inode 更新時間が
その時間と同じかそれより古いもののみ選択されます。
from_date
と
to_date
が等しい場合には、ファイル更新時間もしくは inode 更新時間が
その時間と等しいものが選択されます。
pax が 書き込みモード もしくは コピーモード の場合には、オプションフィールドとして [c][m] を指定することが可能です。このフィールドは、時間の比較に inode更新時間と ファイル更新時間のどちら(あるいは両方)を使うかを決定します。 どちらも指定されない場合(デフォルト時)には、ファイル更新時間のみが用いられます。 m は、ファイル更新時間 (ファイルへの書き込みが最後に行われた時間) を 比較対象として用います。 c は、inode 更新時間 (inode が最後に更新された時間。例えば所有者、 グループ、モードその他が更新された時間) を比較対象として用います。 c と m の両者が指定された場合、ファイル更新時間と inode 更新時間の両者が比較対象 になります。 inode 更新時間の比較は、最近属性が変更されたファイルや 最近作成されたファイル、そしてファイル更新時間が古いものに再設定された ファイル (ファイル更新時間を保存するオプションを用いてアーカイブから 展開されたファイルなどがこれにあたります) を選択するのに便利です。 ファイル時間も併用して時間比較をする機能は、 pax を用いて、 時間を基準にしたインクリメンタルアーカイブ (指定した期間内に更新された ファイルのみアーカイブすること) を行うのに便利です。 時間の範囲は、6 つの異なるフィールドから成り、各フィールドは 2 ケタの数字を 含む必要があります。 その形式は以下の通りです: [yy[mm[dd[hh]]]]mm[.ss] yy は、年号 (西暦) の最後の 2 桁です。 最初の mm は、月 (01 から 12) です。 dd は、日付 (01 から 31 まで) です hh は、時 (00 から 23 まで) です。 2 番めの mm は、分 (00 から 59 まで)です。 そして、 ss は、秒 (00 から 59 まで)です。 分のフィールドの mm は、省略不可であり、他のフィールドはオプションであり、以下の順序で 付加されなければなりません: hh, dd, mm, yy ただし、 ss フィールドだけは、他のフィールドとは独立して付加可能です。 時間の範囲は、現在時刻からの相対値で表され、
は、本日の 12:34 PM から後のファイル更新時間、もしくは inode 更新時間を持つ
ファイルを選択することを表します。
複数の
| |
| |
ファイルの所有者名
user
に基づいて、ファイル選択が行われます。所有者名が
#
で始まる場合には、ファイルの UID がそれに連なる数字のものを
選択します。'\' を用いて
#
をエスケープすることができます。
複数の
| |
| |
パス名で指定されたファイル階層をトラバースする場合に、異なるデバイス ID を 持つディレクトリへは下りていきません。 デバイス ID について詳細な情報を取得したい場合には、 stat(2) の st_dev フィールドを参照して下さい。 | |
| |
本オプションは、
| |
| |
本オプションは、
| |
ファイルもしくはアーカイブ内に格納されたファイルについての操作を制御する
オプション (
読み込み
処理におけるファイル展開時には、
展開されるファイルは、まず、アーカイブ内に格納されるファイルのうち
書き込み
操作や
コピー
操作のファイルアーカイブでは、以下のオプション
pax -w -f /dev/sa0 .
は、カレントディレクトリの内容を /dev/sa0 にコピーします。
コマンド:
pax -v -f filename
は、 filename で指定したアーカイブに格納されているファイル内容の詳細な一覧を表示します。
以下のコマンド:
mkdir /tmp/to
cd /tmp/from
pax -rw . /tmp/to
を実行すると、 /tmp/from 配下のディレクトリ階層全体を /tmp/to にコピーします。
コマンド:
pax -r -s ',^//*usr//*,,' -f a.pax
は、アーカイブファイル a.pax からデータを読み込み、アーカイブ中の ``/usr'' 配下のファイルを全て、 カレントディレクトリからの相対ディレクトリに展開します。
コマンド:
pax -rw -i . dest_dir
は、カレントディレクトリから dest_dir ディレクトリにコピーしますが、ファイルをコピーするかどうかを 対話的に選択します。
コマンド:
pax -r -pe -U root -G bin -f a.pax
は、 a.pax 中に格納されているファイルのうち、所有者が root でグループが bin であるファイルを選択し、すべてのファイル属性を保存して展開します。
コマンド:
pax -r -w -v -Y -Z home /backup
は、コピー先ディレクトリ /backup にあるファイルのうち、コピー元ディレクトリ home に存在する同名のファイルより (inode 更新時刻もしくは ファイル更新時刻が) 古いものについて更新を行い、一覧表示します。
0 | すべてのファイルは正常に処理されました。 |
1 | エラーが発生しました。 |
アーカイブ読み込み中に
pax
がファイルを作成できない場合やリンクを張れない場合、
アーカイブに書き込み中にファイルが見つからない場合、
アーカイブからのファイルの展開が、シグナル受信もしくはエラー発生により 途中で異常終了した場合、 pax はユーザが指定したファイルの一部分だけを展開して終了する可能性があります。 更に、展開したファイルやディレクトリの属性が不正であったり、 アクセス時間、更新時間も不正である可能性があります。
アーカイブの生成が、シグナル受信もしくはエラー発生により 途中で異常終了した場合、 pax は中途半端なアーカイブを生成している可能性があります。 このようなアーカイブは 特定のアーカイブフォーマット規定を満足していない可能性があります。
コピー を行っている最中に、 pax が読み出したのと同じファイルへの書き込みを検出した場合、 そのファイルはコピーされず、診断メッセージが 標準エラー出力 へ書き出され、 pax は 0 以外の終了ステータスでプログラム終了します。
PAX (1) | July 3, 2004 |
総合手引 | セクション 1 | English | オプション |
このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.
“ | Not only is UNIX dead, it's starting to smell really bad. | ” |
— Rob Pike |