ar [-]p[mod [relpos] [count]] archive [member...] ar -M [ <mri-script ]
GNU @command{ar}は,アーカイブの作成,変更,そして,それからの抽出 を行います.アーカイブ(archive)とは,(アーカイブのメンバー (members)と呼ばれる) 元となる個々のファイルを取り出すことが可能な構造の ファイル中に,他のファイルの集合を保持している単一のファイルです.
元のファイルの内容,モード(許可),タイムスタンプ,所有者,そしてグループ は,アーカイブに保存されていて,抽出時に復元可能です.
GNU @command{ar}は,あらゆる長さのメンバー名のアーカイブを管理する ことが可能です.しかし,@command{ar}がシステムでコンフィグレーションされ た方法に依存し,他のツールで管理されるアーカイブのフォーマットの互換性の ため,メンバー名の長さは制限される可能性があります.それが存在する場合, 制限は15文字(a.out に関連するフォーマットの典型)や16文字(coffに関連する フォーマットの典型)のことが多いでしょう.
この種のアーカイブは,一般に必要なサブルーチンを保持するライブラリ (libraries) として最もよく使用されるので,@command{ar}は,バイナリユー ティリティと考えられます.
@command{ar}は,修飾子`s'を指定したとき,アーカイブの再配置可能なオ ブジェクトモジュールに定義されているシンボルに索引を作成します.一度作成 されると,(`q'更新コマンドに対する保存で)@command{ar}がその内容を変 更したときはいつも,この索引はアーカイブ内で更新されます.そのような索引 をもつアーカイブは,ライブラリとのリンク速度を上げ,ライブラリのルーチン がアーカイブ内の位置に関わらず,お互いの呼び出しを可能にします.
この索引テーブルをリストアップするため,`nm -s'や`nm --print-armap' を使用してもかまいません.アーカイブにテーブルがない場合, @command{ranlib}と呼ばれる@command{ar}の別の形式を,テーブルを加えるため に使用することが可能です.
GNU @command{ar}は,二つの異なる機能と互換性があるように設計されて います.Unixシステム上の異なる形態の@command{ar}のように,コマンドライン オプションを使用してその作業を制御することが可能です.また,単一のコマン ドラインオプション@option{-M}を指定した場合,MRI "librarian"プログラム のように,標準入力を通じて供給されるスクリプトを用いて,それを制御するこ とが可能です.
ar [@option{-X32_64}] [@option{-}]p[mod [relpos] [count]] archive [member...]
Unix形式で@command{ar}を使用するとき,@command{ar}は少なくとも二つの引数 を実行時に要求します.operationを指定するキー文字 (modifiersを指定するその他のキー文字がオプションで付きます)と,動 作対象のアーカイブ名です.
ほとんどの処理は,それ以外にmember引数を受け入れ,それは処理の対象 となる特定のファイル名を指定します.
GNU @command{ar}では,最初のコマンドライン引数内で,処理コード pと修飾フラグmodを,あらゆる順序で混合させることが可能です.
好みにより,最初のコマンドライン引数をダッシュで始めてもかまいません.
pキー文字は,実行する処理を指定します.それは以下のいずれでもかま いませんが,その中の一つだけを指定する必要があります.
m
とともに修飾子を使用しない場合,member引数で指名したすべて
のメンバーは,アーカイブの終りに移動されます.そうする代わりに,
指定した位置にそれらを移動するために,`a',`b',または`i'
修飾子が使用可能です.
q
をr
の同義語として
実装されています.
処理の動作の変更を指定するため,いくつかの修飾子(mod)をpキー 文字の直後に続けてもかまいません.
@command{ar}は,AIXに対する互換性のため,`-X32_64'と綴られた最初の オプションを無視します.このオプションによって引き起こされる動作は,GNU @command{ar}のデフォルトです.@command{ar}は,その他の`-X'オプショ ンを全くサポートしません.特に,AIX @command{ar}ではデフォルトとなる @option{-X32}はサポートしません.
ar -M [ <script ]
単一のコマンドラインオプション@option{-M}を@command{ar}で用いた場合,基 礎的なコマンド言語でその処理を制御することが可能です.@command{ar}のこの 形式は,標準入力が端末から直接来ている場合,対話的に処理します.対話的に 使用している間,@command{ar}は入力を促し(プロンプトは`AR >'),エラー 後も実行を続けます.標準入力をスクリプトファイルにリダイレクトしている場 合,プロンプトは発行されず,@command{ar}はエラーが発生すると(ゼロでない 終了コードで)実行を終了します.
@command{ar}コマンド言語は,コマンドラインオプションと等価に設計されて いません.実際,それはアーカイブ上の制御が幾分少なくなっています. コマンド言語の目的は,MRI "librarian"プログラムに対して書かれたスクリ プトを既に所有している開発者が,GNU @command{ar}への変換をより簡単 にすることです.
@command{ar}コマンド言語の構文は簡単です.
LIST
はlist
と
同じです.以下の記述では,明確さのためにコマンドは大文字で表示されます.
ここに,@command{ar}で使用可能な,または,@command{ar}を対話的に使用して いるときのコマンドがあります.そのうちの3つは特別な意味を持ちます.
OPEN
またはCREATE
は現在のアーカイブ(current archive)
を指定し,それはそれ以外のほとんどのコマンドが要求する一時ファイルです.
SAVE
は,スクリプトでこれまでに指定された変更をコミットします.
SAVE
の前のコマンドは,現在のアーカイブの一時的なコピーに対しての
み効果があります.
ADDLIB archive
ADDLIB archive (module, module, ... module)
OPEN
やCREATE
を前もって使用することが要求されます.
ADDMOD member, member, ... member
OPEN
やCREATE
を前もって使用することが要求されます.
CLEAR
SAVE
されてからのあらゆる処
理の効果を無効にします.現在のアーカイブが指定されていない場合でも実行可
能です(効果はありません).
CREATE archive
SAVE
を使用するまで,archiveとして実際に保存されません.
既存のアーカイブに優先可能です.同様に,指名されている既存の
archiveファイルの内容は,SAVE
まで破壊されません.
DELETE module, module, ... module
OPEN
やCREATE
を前もって使用することが要求されます.
DIRECTORY archive (module, ... module)
DIRECTORY archive (module, ... module) outputfile
VERBOSE
で,出力形式を指定します.冗長出力がオ
フのとき,出力は`ar -t archive module...'のようにな
ります.冗長出力がオンのとき,リストは`ar -tv archive
module...'のようになります.
出力は通常,標準出力に流れていきます.しかし,outputfileを最後の引
数として指定した場合,@command{ar}はそのファイルに出力を変更します.
END
0
で終了します.
このコマンドは出力ファイルを保存しません.最後のSAVE
コマンド以降
に現在のアーカイブを変更した場合.これらの変更は失われます.
EXTRACT module, module, ... module
OPEN
やCREATE
を前もって使用することが要求されます.
LIST
VERBOSE
の状態に関わらず,
"verbose"形式で表示します.効果は`ar tv archive'に似ていま
す.(この単独コマンドはGNU @command{ar}拡張で,MRI互換に提供されて
いるものではありません).
OPEN
やCREATE
を前もって使用することが要求されます.
OPEN archive
SAVE
が使用されるまで,archiveに対し実際に効果はあり
ません.
REPLACE module, module, ... module
REPLACE
の引数で指名された)既存の
moduleを,現在のワーキングディレクトリのファイルで置換します.エラー
無くこのコマンドを実行するために,ファイルと現在のアーカイブのモジュール
の両方が存在する必要があります.
OPEN
やCREATE
を前もって使用することが要求されます.
VERBOSE
DIRECTORY
からの出力を管理している内部フラグを切り替えます.フラグ
がオンのとき,DIRECTORY
出力は,`ar -tv '...からの出力に
一致します.
SAVE
CREATE
や
OPEN
コマンドで指定された名前のファイルに,実際に保存します.
OPEN
やCREATE
を前もって使用することが要求されます.
Go to the first, previous, next, last section, table of contents.