オンラインマニュアルを読みましょう

計算機だけでなく、電気製品、自動車、機械など何にでも 取扱説明書(マニュアル)が付いています。製造物責任法など うるさい世の中になって、マニュアルに書いてあったか、 マニュアルを読んだかが争われる時代となってきました。

計算機の場合、多くのアプリケーション・コマンド・システム 関数などがありますので、 そのマニュアルを印刷すると膨大な量になります。 そこで、計算機のマニュアルは計算機上の記憶媒体で 提供されるのが常識になってきました。これを、 オンラインマニュアルと呼びます。

UNIX システムのオンラインマニュアルは man コマンドで 読むことができます。man コマンド名 で、あるコマンドの マニュアルを取り出すことができます。man 自体もコマンドですから man man とコマンドラインから入力してやると、man 体系の入り口に 入れることになります。


man(1)                   ユーザコマンド                    man(1)



【名前】
     man - マニュアルページの表示

【形式】
     man [ - ] [ -adFlrt ] [ -M path ] [ -T macro-package ]
          [-s section ] name ...
     man [ -M path ] -k keyword ...
     man [ -M path ] -f file ...

【使用条件】
     SUNWdoc

【機能説明】
     man コマンドはマニュアルページから得た情報を表示します。具体
     的には、 name 引数が示すタイトルを持つマニュアルページの全内
     容を出力します。また -k オプションまたは -f オプションが指定
     さ れた場合には、それぞれ keyword または filename が示すキー
     ワードやファイル名により選択された 1 行からなる要約情報を 出
     力します。指定条件に一致するマニュアルページが見つからない場
     合には、 man はエラーメッセージを出力します。

  [マニュアルページの位置]
     参照用マニュアルページのソースは、通 常  /usr/share/man/man*
     ま たは /usr/man/man* ディレクトリ中にあります。各ディレクト
     リは個々のセクションに対応しています。これらのディレクトリは
     必須ではないため、ホスト上にインストールされているとは限りま
     せん。存在していなければ、他のホストから /usr/share/man をマ
     ウ ン トしてください。プレフォーマットされた最新バージョンが
     cat* または fmt* ディレクトリ中にあれば、 man は単にそれを表
     示 ま たは印刷します。バージョンが古かったり存在しない場合に
     は、 man は再フォーマット処理を行ってから出力し、 cat? ま た
     は fmt? が書き込み可の場合にプレフォーマットされたバージョン
     を格納します。 windex データベースは 変 更 さ れ ま せ ん  (
     catman(1M)  を 参 照 )。プレフォーマットされたバージョン用の
     ディレクトリが提供されていない場合、 man は要求に応じて ペー
     ジを再フォーマットし、表示処理中、フォーマットされたテキスト
     は一時ファイルに収納されます。

     標準出力が端末ではない場合、または `-' フラグが指定された 場
     合 には、 man は cat(1) を通じてテキストを出力します。その他
     の場合、 man はページごとの出力や下線付けを画面上で行うた め
     に more(1) を通じて出力します。

【オプション】
     以下にオプションを示します。

     -a        MANPATH 検索パス中で name に一致したすべてのマニュ
               アルページを出力します。複数個あるときは、見つかっ
               た順序で出力します。

     -d        デバッグモード。セクションを示す引数に対応する値、
               検 索に用いた方法、および man が検索を行なったパス



SunOS 5.5.1               1995年3月2日                          1






man(1)                   ユーザコマンド                    man(1)



               を表示します。

     -f file...
               指定された file のいずれかに関連するマニュアルペー
               ジを探しだします。各 file から先頭のパス名部分を取
               り除き、そのベース名または名前を含む 1 行の要約 情
               報を出力します。本オプションも windex データべース
               を使用します。

     -F        windex 照合データべースを使う代わりに、 MANPATH で
               指定した全ディレクトリまたは man.cf ファイルを使っ
               て検索を行うよう man に指示します。データべース の
               内 容が最新状態にない場合に便利な指定です。 windex
               データべースが存在しない場合、本オプションが指定さ
               れたものとみなされます。

     -k keyword ...
               windex データべース(目次)を参照し、指定 さ れ た
               keyword を含んでいるものを選び、その概要情報を出力
               します。 windex データべースは catman(1M) コマンド
               を使って生成します。

     -l        検索パス内にある、 name に一致するマニュアルページ
               をすべて一覧表示します。

     -M path   マニュアルページ用に別の検索パスを指 定 し ま す。
               path  には、マニュアルページのディレクトリ・サブツ
               リーを含んだディレクトリの名前をコロンで区切って記
               述  し  ま  す。 た と え ば  path  の 値 と し て
               /usr/share/man:/usr/local/man と指定すると、   man
               は最初に標準のディレクトリである /usr/share/man を
               検索し、次に /usr/local/man を検索して name を探し
               ます。なお -M 本オプションを -k または -f と同時に
               指定する場合、 -M の方を始めに記述しなければなりま
               せん。 path 中の各ディレクトリ中には、各セクション
               につき 1 つの man* という名のサブディレクトリが 存
               在しているとみなされます。本オプションで指定した値
               は、 MANPATH 環境変数の値より優先されます。

     -r        マニュアルページを再フォーマットするだけで、結果の
               表   示   は  行  い  ま  せ  ん。  本  指  定  は
               man - -t name 指定と同等です。

     -s section ...
               検索を行うセクションを指定します。 section 引数 に
               対 応 するディレクトリだけを検索して name を探しま
               す。 section の値は 1 桁の数字(その後にいくつかの
               文 字 を伴う場合あり)、1 つの語(たとえば local、
               new、old、public など)、または 1 文字です。複数の
               セ ク ションを指定するにはカンマで区切って記述しま
               す。本オプションで指定した値は、 MANPATH 環境変 数
               や  man.cf ファイルの値より優先されます。 man がマ



SunOS 5.5.1               1995年3月2日                          2






man(1)                   ユーザコマンド                    man(1)



               ニュアルページを検索する方法に関しては、後述の「検
               索パス」の項を参照してください。

     -t        指定したマニュアルページが、適当なラスタ出力デバイ
               ス 用 に  troff  されるようにします (troff(1) を参
               照)。 - と -t の両オプションがともに指定された 場
               合、 man は指定された各 name の troff バージョンを
               (必要であれば)更新しますが、結果の出力は行いませ
               ん。

     -T macro-package
               マニュアルページをフォーマットする際、デフォルトで
               あ る /usr/share/lib/tmac/an に定義されている -man
               マクロの代わりに、 macro-package が示すパッケー ジ
               を 使 用します。デフォルトの検索パスの順序に関して
               は、「使用法」の中の「検索パス」の項を参照してくだ
               さい。

【オペランド】
     以下にオペランドを示します。

     name      標準ユーティリティのキーワード、またはその名前

【使用法】
  [マニュアルページのセクション]
     マニュアルページはセクションという単位に分類されています。各
     セ クションの名前は、主セクション名(通常は 1 桁の数字)と、
     サブセクション名(通常は 1 つ以上の文字)からなります。た だ
     しサブセクション名はオプショナルです。主セクション名は省略名
     としても使われます。つまりその 1 桁の数字の後にサブセク ショ
     ン名を伴った名前を持つ、いわゆる同じグループのセクション群の
     省略名となります。各セクションに属するマニュアルページ群は、
     共通のカテゴリに属しており、その中でさらに細かく分類するため
     にサブセクションがあります。本リリースにおける分類に関 し て
     は、 intro のマニュアルページを参照してください。

  [検索パス]
     指定されたある name を検索する前に、 man はまず候補となり う
     る ディレクトリとセクションのリストを構築します。 man は環境
     変数 MANPATH が示すディレクトリ群の中で name を探します。 こ
     の 環 境 変 数 が 設 定 さ れ ていなければ、デフォルトとして
     /usr/share/man を検索します。

     マニュアルページのディレクトリ内において、 man は以下に示 す
     セクションだけを以下の順序で検索します。

          + コマンド行上で -s オプションにより指定されたセク ショ
            ン群

          + MANPATH 環境変数に埋め込まれているセクション群

          + MANPATH 環境変数が示す各ディレクトリの man.cf ファ イ



SunOS 5.5.1               1995年3月2日                          3






man(1)                   ユーザコマンド                    man(1)



            ル中に指定されているセクション群

     上記の指定がいずれも存在しない場合には、 man はマ ニュ ア ル
     ペー ジ ・パス中の各ディレクトリを検索し、最初に見つかったマ
     ニュアルページだけを表示します。

     man.cf ファイルの形式は次のとおりです。

          MANSECTS=section[,section]...

     文字 `#' で始まる行および空行は、注釈とみなし無視 し ま す。
     MANPATH が示す各ディレクトリには、そのディレクトリの検索順序
     のデフォルト値を定義するマニュアルページ・コンフィ ギュ レー
     ションファイルを含めることができます。

【マニュアルページのフォーマット】
     マニュアルページは troff(1) または nroff(1) のソースファイル
     で、   -man マクロパッケージにより用意されています。詳しくは
     man(5) を参照してください。

  [マニュアルページの前処理]
     マニュアルページをフォーマットする際、 man は先頭行を参照 し
     て特殊な処理が必要かどうかを確かめます。先頭行が

          '\"  X

     という形式( X と " の間は 1 つの空白文字)で、 X が以下に示
     す 文字の組合せの場合、 man は入力テキストを対応するプリプロ
     セッサを介して troff(1) または nroff(1) に送ります。

          e    eqn(1) または、 nroff の場合、 neqn
          r    refer(1)
          t    tbl(1)
          v    vgrind(1)

     eqn および neqn は、呼び出されると自動的に  /usr/pub/eqnchar
     ファ イル( eqnchar(5) を参照)を読み込みます。nroff(1) が呼
     び出されると col(1) が自動的に使用されます。

  [他のマニュアルページへの参照]
     マニュアルページの先頭行が、次のパターンで他のマニュアルペー
     ジ を 参 照している場合、 man はその参照されているマニュアル
     ページの方を処理します。

          .so man*/ sourcefile

     この参照記述は、マニュアルページのディレクトリのサブツリーの
     ルートに対応したパス名で指定しなければなりません。

     第 2 行目以降の行が .so で始まっていると man はそれ を 無 視
     し、 troff(1) および nroff(1) は通常の方法でリクエストを処理
     します。



SunOS 5.5.1               1995年3月2日                          4






man(1)                   ユーザコマンド                    man(1)



【環境】
     man の実行に影響を与える環境変数 LC_CTYPE 、 LC_MESSAGES  、
     NLSPATH についての詳細は、 environ(5) を参照してください。

     MANPATH        各々をコロンで区切ったディレクトリ名のリス ト
                    を 表します。各ディレクトリ名の後に、各々をカ
                    ンマで区切ったセクションのリストを付加する こ
                    と も で きます。この環境変数が設定されている
                    と、その値は /usr/share/man(ディレクトリ検索
                    パスのデフォルト)および man.cf(セクション検
                    索パスのデフォルト)よりも優先して用いられ ま
                    す。さらにこの環境変数の値よりも -M および -s
                    オプションの値(指定されていれば)が優先さ れ
                    ます。

     PAGER          man の出力を対話モードで画面に送るプログラ ム
                    名 を表します。設定されていないと、プログラム
                    として `more -s' が使用されます( more(1)  を
                    参照)。

     TCAT           troff で処理されたマニュアルページを表示す る
                    プログラム名を表します。

     TROFF          -t オプションが指定された場合に使用するフォー
                    マッ タ 名 を 表 します。設定されていないと、
                    フォーマッタとして troff(1) が使用されます。

【終了ステータス】
     以下の終了ステータスが返されます。

     0         入力ファイルはすべて、正常に出力された。

     >0        エラーが発生した。

【ファイル】
     /usr/share/man                標準マニュアルページのディレク
                                   トリ・サブツリーのルート
     /usr/share/man/man?/*         フォーマットされていないマニュ
                                   アルのエントリ
     /usr/share/man/cat?/*         nroff 処理後のマニュアルのエン
                                   トリ
     /usr/share/man/fmt?/*         troff 処理後のマニュアルのエン
                                   トリ
     /usr/share/man/windex         目次とキーワードのデータべース
     /usr/share/lib/tmac/an        標準 -man マクロパッケージ
     /usr/share/lib/pub/eqnchar    eqn と neqn の標準定義体
     man.cf                        セクションの検索順序のデフォル
                                   ト

【関連項目】
     apropos(1),  cat(1),  col(1),  eqn(1),  more(1),   nroff(1),
     refer(1),    tbl(1),    troff(1),    vgrind(1),   whatis(1),



SunOS 5.5.1               1995年3月2日                          5






man(1)                   ユーザコマンド                    man(1)



     catman(1M), environ(5), eqnchar(5), man(5)

【注意事項】
     troff は 8 ビットクリーンではないため、 man も 8  ビッ ト ク
     リーンではありません。

     -f と -k の両オ プ ショ ン は、   catman(1M)  が 生 成 す る
     /usr/share/man/windex データべースを使用します。

【使用上の留意点】
     マニュアルページは本来 ASCII 端末や写真植字機上で再出力可 能
     な形式でなければなりません。しかし端末上では、フォントの変更
     など一部の情報が失われてしまいます。

     一部のダム端末では、 e 前処理フラグ( eqn(1) を参照)によ り
     生成される縦方向の動作を処理できません。このような端末で出力
     エラーを防ぐには、 e フラグを指定するときに t も同時に指定し
     て、暗黙的に col(1) を呼び出してください。ただしこの回避処置
     をとると、スーパースクリプト(上付き文字)とサブスクリ プ ト
     (下付き文字)の出力が、たとえ端末がその出力機能を持っていて
     も不可能になってしまうという欠点があります。端末が eqn(1) の
     出力により正常に動作しなくなってしまったら、 CTRL-Q を使って
     端末をクリアしてください。
































SunOS 5.5.1               1995年3月2日                          6






man のマニュアルだけで6ページになるオンラインマニュアルは、非常に膨大な 量があることが推察できるでしょう。実際には、コマンドはいくつかの基本的な 使い方ができれば事が足りることが多いので、全てを理解する必要はありません。

man のコマンドを読むと、man は troff を呼び出して文書整形をおこなう ことがわかります。troff は /usr/share/lib/tmac/an に書いてある整形方法を 参照します。オンラインマニュアルと言っても印刷することも考慮に入れた 形式になっていることに注意してください。

オンラインマニュアルの整形前のものは、/usr/share/man にあります。 また、標準でないコマンド類のマニュアルはそれ以外のディレクトリにも あることに注意しましょう。環境変数 MANPATH を設定しておくと 設定されたディレクトリにあるマニュアルを読むことができます。
例:setenv MANPATH /usr/share/man:/usr/openwin/man:/pub/solaris/gnu/man


練習

自分で知っているコマンドのマニュアルを調べてみましょう。 調べたコマンドの「形式」を菊地宛のメールで答えて下さい。
メール宛先 : tkikuchi@is.kochi-u.ac.jp