3.6 より詳しいマニュアルの読み方

このセクションは少し細かな話なので、興味のある人だけどうぞ。

man によるマニュアルの書式

man コマンドが表示する内容をよく見てみると、幾つかの項目に分けて説明してあるのが判るでしょう。
cal の場合だと NAME, SYNOPSIS, DESCRIPTION, HISTORYという具合です。
上記の項目分けは、全てのUNIXにおいて全く同じではなく、幾らか違う部分もありますが大抵は共通の形式で書かれています。以下にその項目の意味を書いておきます。

NAME, 名前

コマンドの名前とその概要。

SYNOPSIS, 形式

コマンドの形式。コマンドに適用できるオプション、引数などを列挙します。
ここでの表記にはルールがあって、例えば cal の例を以下に挙げると、
cal [-mjy13] [ [month] year]
この [ ] に囲まれた部分は「なくてもいいよ」つまり省略可能だという事を意味しています。
特に上記の例のように [ ] に多くのオプション文字がくくられていた場合は、その中のどれでもピックアップして同時に与えていいよ、という意味です。
また、例にはありませんが、 ... という記述があれば、その直前のものを繰り返して書いてもいいよという意味です。
コマンドにオプションや引数をつけてタイプする場合、ここに表示された順番に注意してください。

FLAG, OPTION, フラグ, オプション

それぞれのオプションの働きについて詳しく書いてあります。
あるオプションとは相反する指示だから、これとこのオプションは同時に指定してはいけないよ、などということも書いてあります。

DESCRIPTION, 機能説明

コマンドの詳細説明。コマンドの機能が詳しく書かれています。ここにオプションの説明を含めているUNIXもあります。

FILES, ファイル

コマンドに関係するファイルの名前が列挙されます。

SEE ALSO, RELATED INFORMATION, 関連項目

コマンドに関連する項目。深い関係のあるコマンドなどが列挙されます。

ここの項目は再び man コマンドで参照できますから、このコマンドのマニュアルだけを読んでよく判らない場合はここを追い掛けて行くのがお勧めです。

BUGS, バグ

コマンド使用上の制限事項。コマンドの動きがどうもおかしいという時は注意してみましょう。

コマンド名を調べる

コマンドの名前が判らないのだけれど、このような機能を持ったコマンドを探したい、という時にも man コマンドは有効です。キーワードでコマンドを検索するオプションとして -k オプションがあります。

man -k hostname などとすれば hostname に関係のあるコマンドなどの一覧が表示されます。
結構沢山出ますが一行で一つのコマンドを紹介してくれています。
一番目の項目がコマンド名、その次の括弧に囲まれた数字がマニュアルの分類番号で、残りがコメントです。

cc2004(116)% man -k hostname
Sys::Hostname        (3pm)  - Try every conceivable way to get hostname
dnsdomainname [hostname] (1)  - show the system's DNS domain name
domainname [hostname] (1)  - show or set the system's NIS/YP domain name
gethostname          (2)  - get/set host name
hostname             (1)  - show or set the system's host name
hostname             (7)  - host name resolution description
nisdomainname [hostname] (1)  - show or set system's NIS/YP domain name
nodename [hostname]  (1)  - show or set the system's DECnet node name
sethostname [gethostname] (2)  - get/set host name
ypdomainname [hostname] (1)  - show or set the system's NIS/YP domain name
cc2004(117)% 

このような感じですね。
上記の括弧に囲まれたマニュアルの分類番号の一覧を以下に示しておきます。
この分類のことをセクションと呼んでいます。

セクション番号 分類
1 ユーザコマンド(一般利用者の為のコマンド)
2 システムコール(プログラム言語から利用します)
3 関数(プログラム言語から利用します)
4,5 各種ファイルフォーマット
6 ゲームとデモ
8 保守用コマンド(システム管理者が利用します)

このセクション番号の割当てですが、UNIXによってちょっと違いがあります。

セクション 1, 2, 3 位まではどの機種でも同じなのですが、4, 5あたりについては上記の表は余り当てにならないことに注意してください。
さて、例に挙げた hostname キーワードでのマニュアル検索ではセクション 1 とセクション 7 と両方に passwd という項目がありましたね。
ここで単に man hostname とすると常に前の方だけ、つまりセクション 1 の方についてだけが表示されます。

このような状況でセクション 7 の hostname について知りたい場合は、 man 7 hostname のようにしてセクション番号を明示してやります。
(ときどきセクションの指定方法が異なる UNIX がありますので注意してください。もちろんその時は man man man コマンドそのもののマニュアルを見て確認、です。)


Yutaka Yasuda (yasuda@bakkers.gr.jp)