Linux, コマンド · 1 min read · Sep 17, 2025

初心者のためのLinux arコマンドチュートリアル(5つの例)

Linuxでは、アーカイブを作成するためのいくつかのコマンドラインユーティリティがあります。その1つがarです。このチュートリアルでは、いくつかのわかりやすい例を使ってこのコマンドラインツールの基本を説明します。しかしその前に、この記事に含まれるすべての例は、Ubuntu 18.04 LTSマシンでテストされていることを述べておく価値があります。

Linux arコマンド

arコマンドは、アーカイブを作成、変更、または抽出することを可能にします。以下がその構文です:

ar [OPTIONS] archive_name member_files

そして、manページにはこのツールについて次のように記載されています:

GNU arプログラムは、アーカイブを作成、変更、および抽出します。アーカイブは、元の個々のファイル(アーカイブのメンバーと呼ばれる)を取得できる構造で、他のファイルのコレクションを保持する単一のファイルです。

元のファイルの内容、モード(権限)、タイムスタンプ、所有者、およびグループはアーカイブに保持され、抽出時に復元できます。

GNU arは、メンバーの名前が任意の長さのアーカイブを維持できます。ただし、システムでarがどのように構成されているかによって、他のツールで維持されているアーカイブ形式との互換性のためにメンバー名の長さに制限が課される場合があります。もし制限がある場合、通常は15文字(a.outに関連する形式の典型)または16文字(coffに関連する形式の典型)です。

arは、一般的に必要とされるサブルーチンを保持するライブラリとして最も頻繁に使用されるため、バイナリユーティリティと見なされます。

arは、修飾子を指定すると、アーカイブ内の再配置可能オブジェクトモジュールで定義されたシンボルのインデックスを作成します。一度作成されると、このインデックスはarがその内容に変更を加えるたびにアーカイブ内で更新されます(q更新操作を除く)。このようなインデックスを持つアーカイブは、ライブラリへのリンクを高速化し、ライブラリ内のルーチンがアーカイブ内での配置に関係なく互いに呼び出すことを可能にします。

以下は、arの動作を理解するのに役立つQ&A形式の例です。

Q1. arを使用してアーカイブを作成するには?

これは、manページによると「既存のファイルを置き換えるか、新しいファイルをアーカイブに挿入する」ことを可能にするrコマンドオプションを使用して行うことができます。

例えば:

ar r test.a *.txt

上記のコマンドは、現在のディレクトリからすべてのtxtファイルを含むアーカイブ’test.a’を作成します。

Q2. arを使用してアーカイブの内容をリスト表示するには?

これは’t’コマンドラインオプションを使用して行うことができます。例えば、次のコマンドを実行すると:

ar t test.a

アーカイブに含まれるすべてのファイルのリストが表示されました。

Q3. アーカイブに含まれるファイルの内容を直接表示するには?

これは’p’コマンドオプションを使用して行うことができます。以下はその例です:

ar p test.a

このコマンドによって生成された出力は次のとおりです:

すべての3つのテキストファイルの内容が出力に表示されたので(これらのファイルは互いにコピーであったため、すべてのケースで内容は同じでした)。

Q4. アーカイブに新しいメンバーを追加するには?

‘r’コマンドオプションを使用すると、これも可能です。例えば、既存のアーカイブtest.aに新しいテキストファイル-tes3.txt-を追加するには、次のコマンドを使用しました:

ar r test.a test3.txt

Q5. アーカイブからメンバーを削除するには?

これも簡単です。’d’コマンドオプションを使用し、削除するメンバーの名前を指定するだけです。

例えば、test3.txtを削除するには、次のようにarコマンドを使用しました:

ar d test.a test3.txt

次のスクリーンショットは、ファイルが正常に削除されたことを示しています:

結論

arコマンドは、アーカイブを作成または編集したいときに便利なツールです。また、プログラミングでは、プログラムがリンクする静的ライブラリを作成するためにも使用されます。ここではほんの表面をなぞっただけです。このツールの詳細については、manページをご覧ください。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。