日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
AR(1) FreeBSD 一般コマンドマニュアル AR(1)
名称
ar, ranlib -- アーカイブを管理する
書式
ar -d [-T] [-f] [-j] [-v] [-z] archive file ...
ar -m [-T] [-a position-after] [-b position-before] [-f] [-i position-
before] [-j] [-s | -S] [-z] archive file ...
ar -p [-T] [-f] [-v] archive [file ...]
ar -q [-T] [-c] [-D] [-f] [-s | -S] [-U] [-v] [-z] archive file ...
ar -r [-T] [-a position-after] [-b position-before] [-c] [-D] [-f]
[-i position-before] [-j] [-s | -S] [-u] [-U] [-v] [-z] archive
file ...
ar -s [-j] [-z] archive
ar -t [-f] [-T] [-v] archive [file ...]
ar -x [-C] [-T] [-f] [-o] [-u] [-v] archive [file ...]
ar -M
ranlib [-D] [-U] archive ...
解説
ar ユーティリティは、アーカイブへ結合されたファイルのグループを作成して、
維持します。いったんアーカイブが作成されると、新しいファイルをそれに追加
することができ、既存のファイルを抽出する、削除するか、または置き換えるこ
とができます。
ファイルは、それらの最後のファイル名のコンポーネントによってアーカイブで
名前が付けられるので、``/'' を含むパスによって参照されるファイルがアーカ
イブされるなら、それはパスの最後のコンポーネントによって名前が付けられま
す。同様に、アーカイブに格納されたファイル名に対してコマンドラインでリス
トされたパスにマッチするとき、パスの最後のコンポーネントだけが比較されま
す。
ar の通常の使用は、リンクエディタ ld(1) での使用に適したライブラリの作成
とメンテナンスのためのものですが、この目的に制限されません。ar ユーティリ
ティは、リンクエディタ操作を早くするために使用される、アーカイブシンボル
テーブル (ar(5) 参照) を作成して、管理できます。シンボルテーブルがアーカ
イブに存在しているなら、アーカイブでそれに続く操作によって最新に保たれま
す。
ranlib ユーティリティは、アーカイブシンボルテーブルを既存のアーカイブに追
加するために使用されます。
オプション
ar ユーティリティは、次のオプションをサポートします:
-a member-after
オプション -m と共に使用されるとき、このオプションは、引数
file ... によって指定されたアーカイブメンバが、引数 member-after
によって指定されたアーカイブメンバの後ろに移動されることを指定し
ます。オプション -r と共に使用されるとき、このオプションは、引数
file ... によって指定されたファイルが、引数 member-after によって
指定されたアーカイブメンバの後ろに追加されることを指定します。
-b member-before
オプション -m と共に使用されるとき、このオプションは、引数
file ... によって指定されたアーカイブメンバが、引数 member-before
によって指定されたアーカイブメンバの前に移動されることを指定しま
す。オプション -r と共に使用されるとき、このオプションは、引数
file ... によって指定されたファイルが、引数 member-before によっ
て指定されたアーカイブメンバの前に追加されることを指定します。
-c 新しいアーカイブが、-r と -q オプションを使用して作成されるとき、
印刷される情報メッセージを抑制します。
-C 抽出されたファイルがファイルシステムの like-named ファイルと置き
換えるのを防ぎます。
-d 引数 archive によって指定されたアーカイブから引数 file ... によっ
て指定されたメンバを削除します。アーカイブのシンボルテーブルは、
存在しているなら、アーカイブの新しい内容を反映するために更新され
ます。
-D 他のオプションなしで -s オプションを付けて、-r または -q オプショ
ンと組み合わせて使用されるとき、または ranlib として呼び出される
とき、実際の mtime、uid と gid 値の代わりに 0 を、引数 file ...
によって指定されたメンバのファイルモードの代わりに 0644 を挿入し
ます。これは、メンバの内容が同じであるとき、結果のアーカイブの
チェックサムが再現可能となることを保証します。このオプションは、
デフォルトで有効にされます。複数の -D と -U オプションがコマンド
行で指定されるなら、最終的なものが優先します。
-f アーカイブメンバを指定するとき、アーカイブメンバ名またはコマンド
行のファイル名の引数の最初の 15 文字のみを使用します。
-i member-before
オプション -b と同じ意味です。
-j このオプションは、受け付けられますが、無視します。
-l このオプションは、GNU ar(1) との互換性のために受け付けられます
が、無視されます。
-m アーカイブの中の引数 file ... によって指定されたアーカイブメンバ
を移動します。位置が、-a, -b または -i オプションの 1 つで指定さ
れたなら、メンバは、指定された位置の前か、または後ろに移動されま
す。位置が指定されていないなら、指定されたメンバは、アーカイブの
終わりまで移動されます。アーカイブにシンボルテーブルがあるなら、
アーカイブの新しい内容を反映するためにそれを更新します。
-M 標準入力から MRI ライブラリアンコマンドを読み込んで、実行します。
ar ユーティリティによって理解されるコマンドは、セクション MRI ラ
イブラリアンコマンド MRI Librarian Commands で説明されます。
-o それらを抽出するときに、メンバのオリジナルの変更時刻を保存しま
す。
-p 引数 file ... によって指定された指定されたアーカイブメンバの内容
を標準出力に書き込みます。メンバが指定されなかったなら、アーカイ
ブのすべてのファイルの内容が、それらがアーカイブで見つかる順序で
書き込まれます。
-q 引数 file ... によって指定されたファイルを引数 archive によって指
定されたアーカイブにファイルがアーカイブに既に存在するかどうか
チェックすることなしでファイルを追加します。アーカイブのシンボル
テーブルは、必要に応じて更新されます。引数 archive によって指定さ
れたファイルが、まだ存在していないなら、新しいアーカイブが作成さ
れます。
-r 引数 file ... によって指定されたファイルを、必要であるなら、アー
カイブを作成して、引数 archive によって指定されたアーカイブと置き
換えるか、追加します。既存のメンバの置き換えは、アーカイブ中のメ
ンバの順序を変更しません。引数 file ... で指定されたファイルが存
在していないなら、名前にマッチしているアーカイブ中の既存のメンバ
は、変更されません。新しいファイルは、位置決めオプション -a, -b
または -i が指定されないなら、アーカイブの終わりに追加されます。
アーカイブシンボルテーブルが、存在しているなら、アーカイブの新し
い状態を反映するために更新されます。
-s アーカイブシンボルテーブル (ar(5) 参照) を、引数 archive によって
指定されたアーカイブに追加します。-s オプション単独で ar を呼び出
すことは、ranlib を呼び出すことに同等です。
-S アーカイブのシンボルテーブルを生成しません。
-t それらがアーカイブに現れる順序で引数 file ... によって指定された
ファイルを 1 行毎にリストします。ファイルが指定されないなら、アー
カイブのすべてのファイルがリストされます。
-T 非推奨の -f のエイリアスです。ar の他の実装で、-T は、"薄い" アー
カイブを作成します。
-u 条件付きで、アーカイブを更新するか、またはメンバを抽出します。-r
オプションと共に使用するとき、引数 file ... によって指定された
ファイルは、それらがアーカイブされたバージョンより新しいなら、
アーカイブで置き換えられます。-x オプションと共に使用されるとき、
引数 file ... によって指定されたメンバは、ファイルシステムでそれ
らが対応するファイルより新しい場合にだけ、抽出されます。
-U -r または -q オプションと組み合わせで使用されるとき、実際の
mtime、uid と gid と引数 file .... によって指定されたメンバから
ファイルモード値を挿入します。複数の -D と -U オプションがコマン
ド行で指定されるなら、最終的なものが優先します。
-v 冗長な出力を提供します。-d, -m, -q または -x オプションと共に使用
されるとき、ar は、次の 3 つの空白で分離されたフィールドから成
る、実行されるアーカイブの変更のファイルごとの記述を与えます: オ
プション文字、ダッシュ ``-'' とファイル名。-r オプションと共に使
用されるとき、ar は、上記の説明を表示しますが、最初の文字は、ファ
イルがアーカイブに追加されるなら ``a''、またはファイルがアーカイ
ブに既にあるファイルと置き換えるなら ``r'' です。-p オプションと
共に使用されるとき、``<'' と ``>'' 文字で囲まれたファイルの名前
は、単一の改行文字によって先行され、2 つの改行文字によって続けら
れて標準出力に書き込まれます。指定されたファイルの内容は、ファイ
ル名に従います。-t オプションと共に使用されるとき、ar は、8 つの
空白で分離された次のフィールドを表示します: strmode(3) によって表
示されるファイルのパーミッション、(``/'') によって分離された 10
進数のユーザとグループ ID、バイト単位のファイルサイズ、
strftime(3) 形式 ``%b %e %H:%M %Y'' のファイル更新時刻とファイル
の名前。
-V バージョンの文字列を印刷して、終了します。
-x 引数 file ... よって指定されたアーカイブメンバをカレントディレク
トリに抽出します。メンバが指定されていないなら、アーカイブのすべ
てのメンバを抽出します。抽出されたメンバに対応するファイルが存在
していないなら、それは作成されます。抽出されたメンバに対応する
ファイルが存在しているなら、内容が上書きされ、パーミッションは、
アーカイブに入れられたものに設定されますが、その所有者とグループ
は変更されません。ファイルのアクセスと更新時刻は、-o オプションが
指定されないなら、抽出された時刻となります。
-z このオプションは、受け付けられますが、無視します。
MRI ライブラリアンコマンド
-M オプションが指定されるなら、ar ユーティリティは、標準入力からコマンド
を読み込んで、実行します。標準入力が端末であるなら、ar ユーティリティは、
行を読み込む前に、プロンプト ``AR >'' を表示し、たとえエラーに遭遇したと
しても、操作を継続します。標準入力が端末でないなら、ar ユーティリティは、
プロンプトを表示せずに、エラーに遭遇すると、実行を終了します。
各入力行は、単一のコマンドを含みます。入力行の単語は、空白文字で区切られ
ます。行の最初の単語は、コマンドで、残りの単語は、コマンドへの引数です。
コマンドの単語は、いずれにしても指定されます。引数は、コンマまたは空白で
区切られます。
空行は、許可され、無視されます。長い行は、``+'' 文字でそれらを終了するこ
とによって継続されます。
``*'' と ``;'' 文字は、コメントを開始します。コメントは、行の終わりまでで
す。
MRI ライブラリアンのスクリプトを実行するとき、ar ユーティリティは、アーカ
イブの一時的なコピーで動作します。コピーへの変更は、save コマンドを使用し
て永続的にされます。
ar ユーティリティによって理解されるコマンドは、次の通りです:
addlib archive | addlib archive (member [, member]...)
引数 archive によって指定されたアーカイブの内容を現在のアーカイブ
に追加します。特定のメンバが引数 member を使用して指定されるな
ら、それらのメンバは、現在のアーカイブに追加されます。メンバが指
定されないなら、アーカイブの全体の内容が現在のアーカイブに追加さ
れます。
addmod member [, member]...
引数 member によって指定されたファイルを現在のアーカイブに追加し
ます。
clear 現在のアーカイブのすべての内容を破棄します。
create archive
引数 archive によって指定された新しいアーカイブを作成して、それを
現在のアーカイブにします。指定されたアーカイブが既に存在している
なら、それは、save コマンドが発行されるとき、上書きされます。
delete module [, member]...
引数 member によって指定されたモジュールを現在のアーカイブから削
除します。
directory archive (member [, member]...) [outputfile]
アーカイブ中のそれぞれ指定されたモジュールをリストします。出力の
形式は、verbose コマンドを使用して設定された冗長さ設定に依存しま
す。出力は、標準出力、または、引数 outputfile によって指定された
ファイルに送られます。
end ar ユーティリティを成功して終了します。現在のアーカイブに保存され
なかった変更は、破棄されます。
extract member [, member]...
引数 member によって指定されたメンバを現在のアーカイブから抽出し
ます。
list 冗長なスタイルで現在のアーカイブの内容を表示します。
open archive
引数 archive によって指定されたアーカイブをオープンして、それを現
在のアーカイブにします。
replace member [, member]...
現在のアーカイブの指定されたメンバを引数 member によって指定され
たファイルに置き換えます。ファイルは、カレントディレクトリに存在
していなければなりません、そして、指定されたモジュールは、現在の
アーカイブにまだ存在していなければなりません。
save 現在のアーカイブへすべての変更をコミットします。
verbose
directory コマンドの冗長さを切り換えます。
使用例
3 ファイル ex1.o, ex2.o と ex3.o を含んでいる新しいアーカイブ ex.a を作成
するためには、次を使用します;
ar -rc ex.a ex1.o ex2.o ex3.o
既存のアーカイブ ex.a にアーカイブシンボルを追加するためには、次を使用し
ます:
ar -s ex.a
アーカイブ ex.a からファイル ex1.o を削除するためには、次を使用します:
ar -d ex.a ex1.o
アーカイブ ex.a の内容を冗長にリストするためには、次を使用します:
ar -tv ex.a
MRI ライブラリアンコマンドを使用して、ファイル ex1.o と ex2.o を含む新し
いアーカイブ ex.a を作成するためには、次のスクリプトを使用します:
create ex.a * 出力アーカイブを指定する
addmod ex1.o ex2.o * モジュールを追加する
save * 保留中 (pending) の変更を保存する
end * ユーティリティを終了する
診断
ユーティリティ ar は、成功すると 0 で、エラーがあった場合は >0 で終了しま
す。
関連項目
ld(1), archive(3), elf(3), strftime(3), strmode(3), ar(5)
規格の準拠
ar ユーティリティの -a, -b, -c, -i, -m, -p, -q, -r, -s, -t, -u, -v, -C と
-T オプションのサポートは、IEEE Std 1003.2 (``POSIX.2'') に準拠していると
信じられています。
歴史
ar コマンドは、AT&T UNIX バージョン 1 ではじめて登場しました。FreeBSD 8.0
で、Kai Wang <kaiw@FreeBSD.org> は、ストリーミングアーカイブライブラリ
(libarchive, -larchive) と ELF 解析ライブラリ (libelf, -lelf) を使用して
ar と ranlib を再実装しました。
FreeBSD 13.2 December 29, 2021 FreeBSD 13.2