このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

Linuxコマンドの基本:infoドキュメントの読み方

infoドキュメントの読み方

 ここでは、Linux環境でmanページ(manコマンド)よりも詳細な情報を得られるinfoコマンドを用いたオンラインマニュアルの基本的な読み方を紹介します。infoドキュメントはmanにないメリットや構造を持ちますが、やや操作が複雑なため、ポイントを押さえておくと理解しやすくなります。


なぜinfoドキュメントがあるのか

 Linuxシステムのオンラインマニュアルといえば、manコマンドがよく知られています。しかし、manコマンドで参照できるマニュアルは基本的に一枚物のページであり、ページ間を相互参照したり、階層構造で章立てすることが難しいという制約があります。ここで登場するのがinfoドキュメントです。

infoドキュメントはmanコマンドの後継を目指して開発され、以下のようなメリットがあります。

  • 詳細な情報manにはない、より充実したドキュメントが用意されていることが多い
  • 階層構造・索引:ドキュメントを複数の「ノード」と呼ばれる単位で分割し、階層構造や相互参照を実現
  • 柔軟な閲覧:1つのドキュメント内を章ごと(ノードごと)に移動したり、関連する別のトピックへ飛ぶなど、HTMLドキュメントをブラウズするような操作が可能

このような特徴により、infoは複雑で大規模なドキュメントを体系的に閲覧する際に有用です。


infoコマンドの基本的な使い方

 infoコマンドを実行することで、特定コマンドやツールに対応したinfoドキュメントを参照できます。root権限は必要ないため、一般ユーザでそのまま利用可能です。

【書式】コマンドについて調べる
info <コマンド名>

コマンド例

info find

解説

 findコマンドに対応するinfoドキュメントを表示します。manコマンドとは異なる形式で、ノード構造や相互参照が設定されているため、階層的な文章を読み進められます。


infoドキュメントの構造:ファイルとノード

infoドキュメントは「ファイル」と「ノード」という概念を用いています。

  • ファイル:1つのinfoドキュメントを1つのファイルで表す。
  • ノード:ファイル内を章立てした論理単位。ノード間を移動することで、関連トピックや詳細章へスムーズにアクセス可能。

最上位のノードは「Top」という名前で、そこから下位ノードへ階層的に分かれています。


findコマンドについて調べる

それでは、findコマンドのinfoドキュメントを表示してみましょう。

user01@ubuntu:~$ info find

 infoコマンドを実行すると、次のようにfindコマンドのinfoドキュメントが表示されます。manとは、形式がかなりkとなることが分ります。

findコマンドのinfoドキュメント

Next: Invoking locate,  Up: Reference

8.1 Invoking 'find'
===================

     find [-H] [-L] [-P] [-D DEBUGOPTIONS] [-OLEVEL] [FILE...] [EXPRESSION]

   'find' searches the directory tree rooted at each file name FILE by
evaluating the EXPRESSION on each file it finds in the tree.
...(以下省略)...

 画面をスクロールするにはスペースキーを、表示を終了するにはqを押します。ノード間の移動方法については、この後で解説します。

infoドキュメントの構造:ファイルとノード

  Top
  └─ Reference
     ├─ Invoking find
     │   ├─ Filesystem Traversal Options
     │   ├─ Warning Messages
     │   ├─ Optimisation Options
     │   ├─ Debug Options
     │   └─ Find Expressions
     ├─ Invoking locate
     ├─ Invoking updatedb
     ├─ Invoking xargs
     │   ├─ xargs options
     │   └─ Invoking the shell from xargs
     └─ Regular Expressions
       ...(省略)...

ドキュメントの一番上のノードは、「Top」という名前を付ける決まりになっています。

ノード間の移動方法

infoドキュメントは、npなどのキーボード操作でノード間を移動します。

コマンド内容
n同一階層の「次」のノードへ移動
p同一階層の「前」のノードへ移動
u1つ上の階層(上位ノード)へ移動
f文書順に「次」のノードへ移動(階層考慮なし)
b文書順に「前」のノードへ移動

 また、スクロールにはスペースキー、表示終了にはqキーを使います。これらを駆使することで、infoドキュメント内を自由に探索できます。他にも「行移動操作」や「リンク移動操作」などがあり、操作方法がかなり複雑です。


searchコマンドと--fullオプションとの違い

 infoコマンドはマニュアル全体の階層構造を参照できる点がmanと異なります。一方で、別のコンテンツで扱ったapt-cache searchコマンドの--fullオプションはパッケージ検索で詳細説明を表示するものであり、infoとは異なる用途です。

 infoはプログラムやツール固有の深いドキュメントを読み進めるための仕組みと考えるとよいでしょう。


まとめ

  • infoコマンドは、manより詳細で階層的なオンラインマニュアルを参照するためのツール
  • infoドキュメントはファイルとノードで構成され、相互参照や階層的なブラウズが可能
  • ノード間はnpufbなどのキー操作で移動し、スペースでスクロール、qで終了
  • infoコマンドは操作がやや複雑だが、大規模で詳細なドキュメントを体系的に読む際に有用

 これらのポイントを押さえることで、infoを活用し、より深いレベルでLinuxコマンドやツールの理解を深めることができます。