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
-
nroff
や
troff
のまえに実行するプリプロセッサの順番を指定する。
インストールの状態によってはフルセットの
プリプロセッサが用意されてないかもしれない。いくつ
かのプリプロセッサとそれを指し示す文字は次のとおり:
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 ページファイルの検索パスに追加する。
man
は
PATH
変数を調べて、対応するディレクトリを man ページファイルの検索パスに追加する。
よって、
MANPATH_MAP
を正しく使っている場合に
man xyz
を実行すれば、コマンド
xyz
を実行したときに動作するプログラムの man ページが得られる。
また、コマンド検索パスの各ディレクトリ
(「コマンドディレクトリ」と呼ぶことにする) に対して、
MANPATH_MAP
ステートメントがない場合、
man
は「近接する」マニュアルページディレクトリを自動的に検索する。
近接するディレクトリとは、コマンドディレクトリ自身のサブディレクトリや、
コマンドラインディレクトリの親ディレクトリのサブディレクトリである。
「近接」ディレクトリの自動検索を無効にするには、
NOAUTOPATH
ステートメントを
/usr/lib/man.conf
に入れればよい。
上記の検索パスにある各ディレクトリについて、
man
は
topic.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
を設定すると、
nroff
や
troff
の前に実行するプリプロセッサが、この値をもとにして決定される。
デフォルトでは、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
-
環境変数
NLSPATH
と
LC_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