man

Section: User Commands (1)
Updated: September 2, 1995
Index JM Home Page roff page
 

名前

man - オンラインマニュアルページを整形し表示する。
manpath - ユーザー個々のマニュアルページの検索パスを決める。  

書式

man [-acdfFhkKtwW] [--path] [-m system] [-p string] [-C config_file] [-M pathlist] [-P pager] [-S section_list] [section] name ...

 

説明

man はオンラインマニュアルページ (man ページ) を整形し表示する。 section を指定すると、 man はそのセクションのみからマニュアルを探す。 通常、 name は man ページの名前で、 典型的なものとしてはコマンド名・関数名・ファイル名などがある。 ただし、 name にスラッシュ (/) が含まれていると、 man はファイルの指定であると解釈する。 したがって man ./foo.5 と指定したり、 man /cd/foo/bar.1.gz と指定することも可能である。

man ページファイルを検索するディレクトリについての説明は、 以下を参照すること。

 

オプション

-C config_file
使用する設定ファイルを指定する。デフォルトは /usr/lib/man.conf である (man.conf(5) を見よ)。
-M path
man ページを探すディレクトリのリストを指定する。 ディレクトリをコロンで区切って指定する。 リストが空の場合は、 -M を指定しないのと同じである。 「MAN ページの検索パス」 を参照すること。
-P pager
使用するページャーを指定する。 このオプションは環境変数 MANPAGER より優先される。さらにこの環境変数は PAGER よりも優先される。デフォルトでは man/usr/bin/less -is を用いる。
-S section_list
マニュアルを探すセクションを指定するコロン区切りのリスト。 このオプションは環境変数 MANSECT より優先される。
-a
デフォルトでは、man は見つかった最初の man ページを表示 したあと終了する。このオプションを使うと、 man は最初にみつかったものだけでなく name にマッチしたすべてのページを表示する。
-c
最新の cat 形式のページがあっても man ページのソースを 整形しなおす。このオプションは cat ページが端末と違った幅で 整形されているときや壊れている場合などに有用である。
-d
man ページを表示せず、大量のデバッグ情報を出力する。
-D
デバッグ情報と man ページの両方を表示する。
-f
whatis コマンドと同じ。
-F または --preformat
フォーマットのみ行い、表示はしない。
-h
ヘルプメッセージを表示して終了する。
-k
apropos コマンドと同じ。
-K
「全ての」man ページから指定した文字列を探す。警告: これは 非常に遅いので セクションを指定した方が良い。 (だいたいの目安として、私のマシンでは 500 ページを検索するのに 1 分かかる。)
-m system
別のシステムのことを記述した man ページ群を検索するように指定する。
-p string
nrofftroff のまえに実行するプリプロセッサの順番を指定する。 インストールの状態によってはフルセットの プリプロセッサが用意されてないかもしれない。いくつ かのプリプロセッサとそれを指し示す文字は次のとおり: eqn (e), grap (g), pic (p), tbl (t), vgrind (v), refer (r)。 このオプションは環境変数 MANROFFSEQ より優先される。
-t
man ページの整形に /usr/bin/groff -Tps -mandoc を使い、 stdout に出力する。 /usr/bin/groff -Tps -mandoc からの出力は印刷するまえになんらかのフィルターなどを通す必要 があるかもしれない。
-w または --path
実際には man ページを表示せず、 フォーマットされるページや表示されるファイルの位置を表示する。 引数を与えないと man が man ページを検索するディレクトリのリストを標準出力に表示する。 manpath が man にリンクされているときは "manpath" は "man --path" と 同じになる。
-W
-w に似ているが、ファイル名を追加情報なしに 1 行に 1 つずつ表示する。 これはシェルから man -aW man | xargs ls -l などと使うと便利である。

 

CAT ページ

man コマンドはすでに整形された man ページを、 次にそのページが必要になったときの整形時間の節約のために保存しようとする。 伝統的に、DIR/manX の整形済みマニュアルは DIR/catX に セーブされるが、 man ディレクトリから cat ディレクトリへのマッピング方法として、異なる値を /usr/lib/man.conf に指定することもできる。 フォーマットされた cat ページの 1 行の文字数が 80 文字でない場合、 cat ページはセーブされない。 man.conf に NOCACHE と書かれている場合、 cat ページはセーブされない。

man コマンドをユーザー man に suid することができる。 そうすると、 cat ディレクトリのオーナーが man かつモードが 0755 (ユーザー man だけが書き込み可) で、 cat ファイルのオーナーが man かつモードが 0644 または 0444 (ユーザー man だけが書き込み可、またはユーザーすべてが書き込み不可) のとき、 普通のユーザーは cat ページを変更したり、 他のファイルを cat ディレクトリに置いたりすることができなくなる。 man コマンドが suid されていなければ、 すべてのユーザーが cat ページを cat ディレクトリに置けるように、 cat ディレクトリのモードを 0777 にする必要がある。

cat ページがあったとしても、オプション -c をつけると強制的に man ページを再整形する。  

MAN ページの検索パス

man はマニュアルページを見付けるために洗練された方法を用いる。 これには、起動オプション・環境変数・設定ファイル /usr/lib/man.conf ・プログラムに組み込まれているこれまでの慣例的な検索法や 発見的な方法が使われる。

まず最初に man の引き数 name にスラッシュ (/) がある場合は、 man はファイルの指定であると解釈して、検索を行わない。

ただし、 name にスラッシュが含まれていない通常の場合、 man は指定された名前のマニュアルページになるファイルを いろいろなディレクトリで検索する。

-M pathlist オプションを指定する場合、 pathlist man が検索を行うディレクトリのリストであり、 ディレクトリをコロンで区切って指定する。

-M オプションを指定していないが、環境変数 MANPATH は設定してあるという場合、この環境変数の値は man が検索を行うディレクトリのリストである。

-M または MANPATH でパスのリストを明示的に指定していない場合、 man は設定ファイル /usr/lib/man.conf の内容に基づいてパスのリストを作成する。 設定ファイルの MANPATH ステートメントにより、特定のディレクトリを検索パスに追加する。

さらに、 MANPATH_MAP ステートメントは、コマンド検索パス (すなわち、ユーザーの PATH 環境変数) に応じた検索パスを追加する。 コマンド検索パスにある各ディレクトリに対して、 1 つの MANPATH_MAP で 1 つのディレクトリを指定し、 man ページファイルの検索パスに追加する。 manPATH 変数を調べて、対応するディレクトリを man ページファイルの検索パスに追加する。 よって、 MANPATH_MAP を正しく使っている場合に man xyz を実行すれば、コマンド xyz を実行したときに動作するプログラムの man ページが得られる。

また、コマンド検索パスの各ディレクトリ (「コマンドディレクトリ」と呼ぶことにする) に対して、 MANPATH_MAP ステートメントがない場合、 man は「近接する」マニュアルページディレクトリを自動的に検索する。 近接するディレクトリとは、コマンドディレクトリ自身のサブディレクトリや、 コマンドラインディレクトリの親ディレクトリのサブディレクトリである。

「近接」ディレクトリの自動検索を無効にするには、 NOAUTOPATH ステートメントを /usr/lib/man.conf に入れればよい。

上記の検索パスにある各ディレクトリについて、 mantopic.section, という名前のファイルを探す。 これにはオプションとしてセクション番号と 圧縮ファイルの拡張子が付いてもよい。 このようなファイルが見付からない場合、 manN または catN という名前の全てのサブディレクトリを検索する。 ここで N は man ページのセクション番号である。 ファイルが catN サブディレクトリにある場合、 man はフォーマット済みの man ページファイル (cat ページ) であると仮定する。 それ以外の場合、 man は未フォーマットの man ページであると仮定する。 どちらの場合でも、ファイル名に (.gz のような) 既知の圧縮ファイル拡張子が付いていれば、 man は gzip されたファイルであると仮定する。

man が特定のトピックの man ページを どこで見付けるか (または見付けることができるのか) を知りたいときは、 --path (-w) オプションを使うこと。  

環境変数

MANPATH
MANPATH を設定すると、 man ページファイルを探すときのパスとして使われる。 この環境変数は設定ファイルや自動的に指定される検索パスの設定を上書きするが、 起動オプション -M で上書きされる。 「MAN ページの検索パス」 を参照すること。
MANPL
MANPL を設定すると、表示する 1 ページ当たりの行数として使われる。 この環境変数を設定しない場合、man ページ全体で (長い) 1 ページになる。
MANROFFSEQ
MANROFFSEQ を設定すると、 nrofftroff の前に実行するプリプロセッサが、この値をもとにして決定される。 デフォルトでは、man ページは nroff のまえに tbl 用のプリプロセッサに通される。
MANSECT
MANSECT を設定すると、どのマニュアルセクションを探すかが この値をもとにして決定される。
MANWIDTH
MANWIDTH を設定すると、その値を表示する man ページの幅として使用する。 指定しなかった場合には画面の幅一杯まで使用する。
MANPAGER
MANPAGER を設定すると、man ページを表示するプログラムとして使用する。 指定しなかった場合には、 PAGER が使用される。どちらも設定されていない場合には /usr/bin/less -is が使われる。
LANG
LANG を設定すると、 man コマンドはまずその名前のサブディレクトリから man ページを探す。 したがってコマンドラインから 'LANG=dk man 1 foo' と打つと、 man コマンドはまず .../dk/man1/foo.1 を探し、 見つからなければ .../man1/foo.1 を探す。この ... はサーチパスのディレクトリである。
NLSPATH, LC_MESSAGES, LANG
環境変数 NLSPATHLC_MESSAGES (後者が指定されていなければ LANG) はメッセージカタログの位置を指定する。 (英語のメッセージはコンパイル時に組み込まれているので、 英語のカタログは必要ない) man に呼び出される col(1) のようなプログラムも、たとえば LC_CTYPE などを使うことに注意すること。
PATH
PATH は man ページのデフォルト検索パスの決定に利用される。 「MAN ページの検索パス」 を参照すること。
SYSTEM
SYSTEM はデフォルトのシステム名を得るのに使われる (-m オプションと一緒に使うものと同じ)
 

関連項目

apropos(1), whatis(1), less(1), groff(1), man.conf(5).  

バグ

-t オプションは troff ライクなプログラムがインストールされている 場合のみ有効である。
もしハイフンのかわりに、点滅する \255 や <AD> が表示された場合には 環境変数に 'LESSCHARSET=latin1' を設定すると良い。

(訳注: 日本語を使用する場合には 'JLESSCHARSET=japanese-euc' または 'LESSCHARSET=japanese-euc' を使用するために、この方法では対応できない。groff のオプションで -Tnippon また -Tascii を使用すること。)  

ウラ技


  (global-set-key [(f1)] (lambda () (interactive) (manual-entry (current-word))))

という行を自分の .emacs ファイルに追加しておけば、F1 を叩くと、 現在のカーソル位置にあるライブラリコールの man ページが表示される。

バックスペースとアンダースコアがない プレーンテキスト版の man ページを得るには、コマンド


  # man foo | col -b > foo.mantxt

を実行すること。  

訳注

本 man ページの各ファイルのパスは、man-1.5j で
configure +fsstnd

することによって得られたものです。 実際のパスはディストリビューションなどによって 異なっている可能性があります。


 

Index

名前
書式
説明
オプション
CAT ページ
MAN ページの検索パス
環境変数
関連項目
バグ
ウラ技
訳注

This document was created by man2html, using the manual pages.
Time: 04:32:34 GMT, November 19, 2007