Next: , Up: ar


1.1 コマンドラインでのarの制御

     
     ar [-X32_64] [-]p[mod [relpos] [count]] archive [member...]
     

Unix形式でarを使用するとき,arは少なくとも二つの引 数を実行時に要求します.operationを指定するキー文字 (modifiersを指定するその他のキー文字がオプションで付きます)と, 動作対象のアーカイブ名です.

ほとんどの処理は,それ以外にmember引数を受け入れ,それは処理の対 象となる特定のファイル名を指定します.

gnu arでは,最初のコマンドライン引数内で,処理コード pと修飾フラグmodを,あらゆる順序で混ぜることが可能です.

好みにより,最初のコマンドライン引数をダッシュで始めてもかまいません.

pキー文字は,実行する処理を指定します.それは以下のいずれでもか まいませんが,その中の一つだけを指定する必要があります.

d
アーカイブからモジュールを削除します.削除するモジュール名は, member...として指定してください.削除するファイルを指定して いない場合,アーカイブはそのままです.

v’修飾子を指定した場合,arは削除するそれぞれのモジュー ルをリストアップします.

m
アーカイブ内でメンバーを移動するためにこの処理を使用してくださ い.

シンボルが一つ以上のメンバーで定義されている場合,アーカイブ内のメンバー の順序で,ライブラリを使用してプログラムがリンクされる方法に差異が発生 するはずです.

mとともに修飾子を使用しない場合,member引数で指名したすべ てのメンバーは,アーカイブの終りに移動されます.そうする代わり に,指定した位置にそれらを移動するために,‘a’,‘b’,または ‘i’修飾子を使用することが可能です.

p
アーカイブの指定されたメンバーを標準出力ファイルに出力します. ‘v’修飾子が指定されている場合,その内容のコピーの前にメンバー名を 標準出力に表示します.

member引数を指定していない場合,アーカイブのすべてのファイルが出 力されます.

q
すばやく追加します.歴史的に,ファイルmember...archiveの終りに,置換についての調査をせずに追加します.

修飾子‘a’,‘b’,そして‘i’は,このオプションに効果は ありません.新しいメンバーは常にアーカイブの終りに配置されます.

修飾子‘v’で,arは追加されるそれぞれのファイルをリストアッ プします.

この処理の要点は速度なので,アーカイブのシンボル表の索引が存在している 場合でも更新されません.シンボル表の索引を更新するために,‘ar s’ またはranlibを明示的に使用することが可能です.

しかし,あまりに多くの様々なシステムで,高速追加が索引を再構築すること を仮定されていので,gnu arは,qrの同義 語として実装されています.

r
ファイルmember...archiveに挿入します(置換を用 います).この処理は,追加されるものと名前が一致した場合,既存のメンバー が削除される点で,‘q’とは異なります.

member...で指名されたファイルが一つでも存在しない場合, arはエラーメッセージを表示し,名前がアーカイブと一致する既存 のメンバーはそのままになります.

デフォルトで,新しいメンバーはファイルの終りに追加されます.しかし,既 存のメンバーとの相対位置を要求するため,修飾子‘a’,‘b’,また は‘i’の一つを使用してもかまいません.

この処理で修飾子‘v’を使用すると,挿入されたそれぞれのファイルを出 力の一行に書き出し,ファイルが追加された(古いメンバーが削除されていな い)のか,置換されたのかを示す文字‘a’または‘r’のどちらかを追 加します.

t
archiveの内容をリストアップしている,または,アーカイブ に存在するmember...にリストアップされているファイルの を表示します.通常,メンバー名だけが見えます.モード(許可), タイムスタンプ,所有者,そして大きさも見たい場合,‘v’修飾子を指定 して要求することも可能です.

memberを指定しない場合は,アーカイブ内のすべてのファイルがリスト アップされます.

同じ名前の(‘fie’という名の)ファイルが,(‘b.a’をいう名の)アー カイブに一つ以上ある場合,‘ar t b.a fie’は最初のインスタンスのみ リストアップします.すべてを見るために,完全なリストを要求する必要があ ります — この例では‘ar t b.a’です.

x
(memberという名の)メンバーをアーカイブから抽出します. arが抽出しているそれぞれの名前をリストアップするように,この 処理で‘v’修飾子を使用することが可能です.

memberを指定しない場合,アーカイブのすべてのファイルが抽出されま す.

処理の動作の変更を指定するため,いくつかの修飾子(mod)をpキー 文字の直後に続けてもかまいません.

a
新しいファイルを,アーカイブの既存のメンバーのに追加します. 修飾子‘a’を使用した場合,archive指定の前に,既存のアーカイ ブメンバー名がrelpos引数にある必要があります.
b
新しいファイルをアーカイブの既存のメンバーのに加えます.修飾 子‘b’を使用した場合,archive指定の前に,既存のアーカイブメ ンバー名がrelpos引数にある必要があります.(‘i’と同じです).
c
アーカイブを作成します.更新の要求をしたとき,指定された archiveが存在する場合でも,それは常に作成されます.しかし,この 修飾子を使用して,作成することを期待するということを前もって指定しない 場合,警告が生じます.
f
アーカイブで名前を切り詰めます.gnu arは,通常は任意の 長さのファイル名を許可します.これは,いくつかのシステムのネイティブ arプログラムと互換性のないアーカイブを作成します.これが懸念 される場合,アーカイブに配置するときファイル名を切り詰めるために, ‘f’修飾子を使用してもかまいません.
i
新しいファイルをアーカイブの既存のメンバーの前に挿入します.修 飾子‘i’を使用する場合,archive指定の前に,既存のアーカイブ メンバー名前がrelpos引数にある必要があります.(‘b’と同じで す).
l
この修飾子は受け入れられますが,使用されません.
N
countパラメータを使用します.これは,同じ名前のアーカイブに,複 数のエントリーがある場合に使用されます.アーカイブから,該当する名前の インスタンスをcount個,抽出または削除します.
o
メンバーが既存のとき,そのオリジナルの日付を保持します.この修 飾子を指定しない場合,アーカイブから抽出されるファイルは,抽出した時間 でタイムスタンプがつきます.
P
アーカイブの名前の一致にフルパス名を使用します.gnu ar はフルパス名を持つアーカイブ(そのようなアーカイブは,POSIXで問題ない) を作成することは不可能ですが,アーカイブを作成するものには,そうするこ とが可能なものもあります.このオプションで,gnu arはフ ルパス名を使用しているファイル名にマッチし,それは,他のツールで作成さ れたアーカイブから単一のファイルを抽出するとき便利でしょう.
s
他の変更がアーカイブに対してなされない場合でも,オブジェクトファイルの 索引をアーカイブに書き出したり,既存のものを更新したりします.この修飾 子フラグは,あらゆるオプションとともに,または単独で使用してもかまいま せん.アーカイブで‘ar s’を実行することは,‘ranlib’の実行と等 価です.
S
アーカイブシンボル表を生成しません.これで何段階か使用する大きなライブ ラリの構築を高速にすることが可能です.結果として出力されるアーカイブは, リンカで使用することは不可能です.シンボルテーブルを構築するために, ‘ar’の最後の実行で‘S’修飾子を省略したり,アーカイブで ‘ranlib’を実行する必要があります.
u
通常,‘ar r...でリストアップされているすべてのファイルをアー カイブに挿入します.リストアップしたもので,同じ名前の既存のメンバーよ り新しいファイルのみ挿入したい場合,この修飾子を使用してくださ い.‘u’修飾子は,処理‘r’(置換)に対してのみ可能です.特に,タ イムスタンプの調査が処理‘q’での速度の利点を損なうため,‘qu’ と組み合わせることはできません.
v
この修飾子は,処理の冗長バージョンを要求します.多くの処理は, 修飾子‘v’が追加されているとき,処理しているファイル名のような追加 の情報を表示します.
V
この修飾子はarのバージョンナンバーを表示します.

arは,AIXに対する互換性のため,‘-X32_64’と綴られた最初 のオプションを無視します.このオプションによって引き起こされる動作は, gnu arのデフォルトです.arは,その他の ‘-X’オプションを全くサポートしません.特に,AIX arでは デフォルトとなる-X32はサポートしません.