QA@IT

man でセクションを指定しなかった場合の動作について

2313 PV

LPICの勉強をしているのですが、
manコマンドでセクションを指定しなかった時の動作がよくわからなかったで質問させてください。

manコマンド自体をmanで調べると下記のようにありました。

man は直接マニュアルの section セクション内にあるページの
み検索します。デフォルトの動作は使用可能な sections すべてを、事前定義
された順番に検索し、見つけた最初の page を表示します。 page が複数の
sections に存在する場合でも表示されるのは最初のもののみです。

例えば $ man -f passwd
passwd (1) - change user password
passwd (1ssl) - compute password hashes
passwd (5) - the password file
と出てきますが、この場合

man passwdman 1 passwd
"事前定義"が昇順と決められていた場合において
この2つのコマンドは等価ということで合っていますか?

あと section と page の関係がわからないのですが、
一つのコマンドのsectionに対して page は必ず一対一で存在するものなのでしょうか?

回答

man man すると分かりますが、検索されるセクションは

  • コマンドラインオプション -S
  • 環境変数 MANSECT
  • man.conf(ig) の設定項目 MANSECT

で決められます。

セクション1がこれらで決まるセクションリストの先頭にあり、passwd(1) (「セクション1のpasswdというmanページ」という意味)が存在するなら

  • man passwd
  • man 1 passwd

は等価です。

手元のCentOS5

MANSECT         1:1p:8:2:3:3p:4:5:6:7:9:0p:n:l:p:o:1x:2x:3x:4x:5x:6x:7x:8x

手元のOSX

MANSECT         1:1p:8:2:3:3p:4:5:6:7:9:0p:tcl:n:l:p:o

セクションはmanページに対する分類です。

passwd(1)はpasswdという名前の「コマンド」、passwd(5)は/etc/passwdの「ファイルフォーマット」についての説明です。

各セクションの意味は、該当セクションの intro というmanページで(あれば)説明されています。

  • man 1 intro
  • man 8 intro

などをお試し下さい。

編集 履歴 (0)
  • ありがとうございます。MANSECTで順序が決まるのですね。 -
ウォッチ

この質問への回答やコメントをメールでお知らせします。