ar – アーカイブファイルを作成・操作するコマンド

ビルド

ar コマンドは、複数のファイルを1つのアーカイブファイル(主に静的ライブラリ .a)にまとめたり、展開・管理する ツールです。
C/C++ の開発環境では、静的ライブラリを作成する際に頻繁に利用されます。

構文(Syntax)

ar [オプション] アーカイブファイル ファイル...

主なオプション一覧

オプション説明使用例
rアーカイブにファイルを追加(既存の場合は置換)ar r libfoo.a foo.o
c新しいアーカイブを作成(警告を抑制)ar rc libfoo.a foo.o
sインデックスを作成(ranlib 相当)ar rcs libfoo.a foo.o bar.o
tアーカイブ内のファイル一覧を表示ar t libfoo.a
xアーカイブからファイルを展開ar x libfoo.a foo.o
dアーカイブからファイルを削除ar d libfoo.a foo.o
q高速に追加(インデックス更新はしない)ar q libfoo.a foo.o
v詳細表示(他のオプションと併用)ar tv libfoo.a

実行例

静的ライブラリを作成

ar rcs libmylib.a foo.o bar.o

foo.obar.o をまとめて libmylib.a を作成)

アーカイブ内容を確認

ar t libmylib.a

出力例:

foo.o
bar.o

詳細付きで確認

ar tv libmylib.a

出力例:

rw-r--r-- 0/0    1234 Jan 01 12:00 2025 foo.o
rw-r--r-- 0/0    2345 Jan 01 12:00 2025 bar.o

ファイルを展開

ar x libmylib.a foo.o

ファイルを削除

ar d libmylib.a foo.o

高速追加(インデックスなし)

ar q libmylib.a baz.o

エラー例(存在しないファイル追加)

ar rcs libtest.a notfound.o

出力例:

ar: notfound.o: No such file or directory

関連コマンド

  • ranlib : 静的ライブラリのインデックスを作成(ar s と同等)
  • nm : ライブラリやオブジェクトファイル内のシンボルを表示
  • ld : リンカ(静的/動的ライブラリを結合して実行ファイルを作成)

備考

  • ar静的ライブラリ (.a) を作成するために使われ、共有ライブラリ (.so) は gcc -shared などで生成します。
  • ar rcs静的ライブラリ作成の定番コマンド です。
  • 生成されたライブラリは gcc main.o -L. -lmylib -o main のようにリンクして使用します。

参考

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする

コメント