名前 | 形式 | 機能説明 | オプション | オペランド | 環境 | 戻り値 | 属性 | 関連項目 | 注意事項
ar ユーティリティは、1 つのアーカイブファイルとして結合された ファイル群の保守を実行します。 このコマンドは、おもにライブラリファイルの 作成および更新のために使用されますが、他の似たような目的で使うこともできます。ar が使用するマジック文字列とファイルヘッダーは、 印刷可能な ASCII 文字で構成されます。 アーカイブが印刷可能なファイルの集まりであれば、アーカイブ全体も印刷可能です。
ar はアーカイブを作成する際に、すべてのマシン間で移植できるような形式でヘッダーを生成します。移植可能なアーカイブの形式や構造については、ar(3HEAD) で詳しく説明されています。 アーカイブシンボルテーブル ( ar(3HEAD) で説明) は、リンクエディタ ld(1) がオブジェクトファイルのライブラリ群に またがった複数の受け渡しを効率よく有効にするために 使用します。アーカイブシンボルテーブルは、アーカイブ中にオブジェクトファイルが 1 つでも 存在している場合にだけ、ar により作成または保守されます。アーカイブシンボルテーブルは、特殊な名前が付けられたファイル内にあり、そのファイルは常にアーカイブの先頭にあります。このファイルに関してはユーザーには解説しておらず、ユーザーがアクセスすることはできません。ar を使ってアーカイブを生成または更新するたびに、シンボルテーブルは再構築されます。また後述する -s オプションを使えば、 シンボルテーブルを強制的に再構築することができます。
以下のオプションを指定できます。
file が示す新たなファイルを、 archive が示すアーカイブ中の posname が示すファイルの後に配置します。
file が示す新たなファイルを、 archive が示すアーカイブ中の posname が示すファイルの前に配置します。
デフォルトでは、 archive で示すアーカイブが生成されるときに標準エラー出力に 診断メッセージが書き出されますが、このオプションはその メッセージ出力を抑止します。
抽出されたファイルが、ファイルシステム中の同一名のファイルを 置き換えないようにします。特に -T オプションも指定した場合にはファイル名の後半が切り捨てられてしまうので、 この -C オプションにより前半部分が一致するファイルを置き換えてしまう ことを防げます。
file が示すファイルを archive が示すアーカイブから削除します。
file が示す新たなファイルを、 archive が示すアーカイブ中の posname が示すファイルの前に配置します。 ( -b オプションと同機能 )
file が示すファイルを移動します。移動先は、 -a、 -b、または -i オプションが posname とともに指定されていればそれに従い、 指定されていなければアーカイブの最後尾となります。
archive が示すアーカイブ中の、 file が示すファイルの内容を標準出力に印刷します。 file が 1 つも指定されていなければ、そのアーカイブ中の すべてのファイルの内容が、アーカイブ内でのファイルの順序に従って 出力されます。
file が示すファイルを、 archive が示すアーカイブの最後尾に追加します。 位置を指定するオプション -a 、 -b 、および -i はいずれも無効です。 指定されたファイルと同じ名前のファイルが すでにそのアーカイブ中に存在しているかどうかは、 チェックされません。 このオプションを使えば二次的な動作を抑止できるので、 大きなアーカイブを少しずつ作成していく場合に便利です。
archive が示すアーカイブ中で、 file が示すファイルの置換または追加を行います。 指定したアーカイブが存在していなければ、 新たにアーカイブを作成し ( -c オプション指定時を除く ) 診断メッセージを標準エラー出力に 書き出します。 アーカイブは存在していて、ファイル名が 1 つも指定されなかった場合の 実行結果は定義されていません。 ファイルの置換が発生しても、アーカイブ中でのファイルの 順序は変わりません。 この -r オプションとともに -u オプションも指定されていると、最終更新日時が アーカイブ中の対応するファイルより 新しいファイルだけが置き換えられます。 -a 、 -b 、または -i オプションが指定された場合、 posname 引数の指定も必須となります。このとき、新規ファイルは posname で示すファイルの後 ( -a の場合 ) または前 ( -b および -i の場合 ) に置かれます。これらの位置決めオプションが 指定されていなければ、新規ファイルは アーカイブの最後尾に置かれます。
ar を呼び出したコマンドに、アーカイブの内容を 更新するようなオプションが指定されていない場合でも、 アーカイブのシンボルテーブルを強制的に再構築します。 このオプションは、アーカイブ上で strip(1) コマンドを実行した後でアーカイブシンボルテーブルの内容を 復元するのに便利です。
アーカイブの内容を示す目次を生成します。 file で指定したファイルが目次に含まれます。 file を 1 つも指定しないと、 アーカイブ中の全ファイル名が、アーカイブ中での順番に 含まれます。
抽出されたファイルのアーカイブ名の長さが、 ファイルシステムでサポートする最大長を超えている場合、 超過した部分を切り捨てます。 デフォルトでは、最大長を超える長さの名前を持つ ファイルを抽出しようとするとエラーとなり、ファイルの抽出は 行われず診断メッセージが出力されます。
古いファイルを更新します。 -r オプションと一緒に指定すると、 最終更新日時が archive 中の対応するファイルよりも 新しいファイルについてだけ、置換が行われます。
自身のバージョン番号を標準エラー出力に印刷します。
詳細な情報を出力します。他のオプション -d、-r、または -x も一緒に指定すると、アーカイブやファイルの生成と保守作業に ついてファイルごとの詳細な情報を出力します。
-p オプションも一緒に指定すると、ファイルの内容の 前にファイルの名前を標準出力に書き出します。
-t オプションも一緒に指定すると、アーカイブ中のファイルに関する 大量の情報が出力されます。
-x オプションも一緒に指定すると、抽出作業の前に ファイル名が出力されます。 アーカイブに書き込むと、 メッセージを標準エラーに書き出します。
以下のオペランドを指定できます。
アーカイブのパス名。
パス名。アーカイブ中のファイル名と比較する際には、 ファイル名の最終コンポーネントだけが使用されます。 最終パス名コンポーネント ( basename(1) を参照 ) に同一の名前が複数指定された場合、 その結果は定義されていません。 アーカイブに追加または置換されたファイルの名前は、 それが正当なものであれば、 実装先システムのアーカイブの形式により切り捨てられることはありません。
アーカイブ中での配置位置を相対的に表すための ファイルの名前。詳しくは -m と -r オプションの説明を参照してください。
ar の実行に影響を与える環境変数 LC_CTYPE、LC_MESSAGES、NLSPATH
についての詳細は、 environ(5) を参照してください。
次の属性については attributes(5) のマニュアルページを参照してください。
basename(1), cc(1B), cpio(1), ld(1), lorder(1), strip(1), tar(1), ar(3HEAD), a.out(4), attributes(5), environ(5), XPG4(5)
引数リスト中に同じファイル名を 2 度記述すると、 アーカイブ中にそのファイルが 2 個置かれます。
慣習として、アーカイブのファイル名には .a という接尾辞を付けるのが一般的です。
名前 | 形式 | 機能説明 | オプション | オペランド | 環境 | 戻り値 | 属性 | 関連項目 | 注意事項