man
Section: Manual pager utils (1)
Updated: July 12th, 1995
Index
JM Home Page
roff page
名前
man - オンラインリファレンスマニュアルのインターフェース
書式 aa
man
[-c|-w|-tZT
device]
[-adhu7V]
[-m
system[,...]]
[-L
locale]
[-p
string]
[-M
path]
[-P
pager]
[-r
prompt]
[-S
list]
[-e
extension]
[[section]
page ...] ...
man
-l
[-7]
[-tZT
device]
[-p
string]
[-P
pager]
[-r
prompt]
file
...
man
-k
[-M
path]
keyword
...
man
-f
[-M
path]
page
...
説明
man
はシステムのマニュアルページャーである。
man
に与えられる引き数
page
は、通常はプログラムやユーティリティ、関数などの名前である。
これらの引き数それぞれに対応する
マニュアルページ
が検索・表示される。
section
が指定されると、
man
はマニュアルを検索する対象をそのセクションに限定する。
デフォルトの動作では、すべてのセクションを既定の順序で検索し、
最初に見つかった
page
だけを表示する。複数のセクションに同じ名前の
page
が存在する場合でも、表示されるのは最初の一つだけとなる。
以下の表にマニュアルの
section
番号を示す。それぞれの
section
に、どのようなページが含まれるかもあわせて示す。
1 | 実行プログラムまたはシェルのコマンド
|
2 | システムコール (カーネルが提供する関数)
|
3 | ライブラリコール (システムライブラリに含まれる関数)
|
4 | 特殊なファイル (通常 /dev に置かれているもの)
|
5 | ファイルのフォーマットと約束事。例えば /etc/passwd など
|
6 | ゲーム
|
7 | マクロのパッケージとその約束事。例えば man(7), groff(7) など
|
8 | システム管理用のコマンド
|
9 | カーネルルーチン [非標準]
|
n | 新しいもの [最近では使われない]
|
l | システムローカルなもの [最近では使われない]
|
p | パブリックなもの [最近では使われない]
|
o | 古いもの [最近では使われない]
|
それぞれのマニュアルページは、いくつかの章からなる。
それぞれには以下のような名前がついている。
名前 (NAME),
書式 (SYNOPSIS),
説明 (DESCRIPTION),
オプション (OPTION),
ファイル (FILES) ,
関連項目 (SEE ALSO),
バグ (BUGS),
著者 (AUTHOR)
書式
の章には以下のような形式が用いられている。
他の章でも同様のルールを用いると良い。
ボールド体 (bold) | そのままタイプする。
|
イタリック体 (italic) | 適切な引き数に置き代える。
|
[-abc] | [ ] 内部の引き数はすべて省略できる。
|
-a|-b | | で区切られたオプションは同時には指定できない。
|
argument ... | argument は繰り返し指定できる。
|
[expression] ... | [ ] 内部の expression 全体を繰り返し指定できる。
|
コマンドや関数は、これらのパターンの組みあわせによって、起動可能な書式の
すべてを網羅しているべきである。複数ある起動方法のうちの排他的なものは、
場合によっては別々に示した方が良いかもしれない (このページの
書式
セクションではそのようにしている)。
例
- man ls
-
(プログラム)
ls
に関するページを表示する。
- man -a intro
-
マニュアルにある
intro
のページをすべて、順番に表示する。次のページに移るときに、以降の表示
を中止したり、見たくないものをスキップすることもできる。
- man -t alias | lpr -Pps
-
alias
で参照されるページ (通常はシェルのマニュアルページだろう) を、
troff
または
nroff
のデフォルト出力フォーマットに整形して、
ps
という名前のプリンターにパイプしている。
groff
のデフォルト出力は通常 PostScript である。
man --help
とすれば、
-t
オプションによって起動される整形コマンドに関する情報が得られる。
- man -l -Tdvi ./foo.1x.gz > ./foo.1x.dvi
-
このコマンドは nroff ソースのマニュアルページ
./foo.1x.gz
を展開して、
デバイス非依存 (dvi)
なファイルにフォーマットする。
-T
オプションによって、フォーマットの結果は
stdout
にページャーなしで出力されているので、この場合リダイレクションが
必要である。この出力結果は
xdvi
のようなプログラムで見ることができる。また
dvips
のようなプログラムを用いれば、さらに PostScript に変換することも
できる。
- man -k printf
-
キーワード
printf
で、マニュアルページの要約文とページ名を検索し、
マッチした結果を表示する。
- man -f smail
-
smail
と言う名前のマニュアルページを探し、
見つかったものそれぞれに対して要約文を表示する。
概要
man
には多くのオプションが存在し、ユーザーに可能な限りの柔軟性を提供してい
る。検索パスやセクションの順番、出力プロセッサ、他の振る舞いや動作など
が、以下に詳細に述べられている。
また
man
の動作に影響を及ぼす環境変数も数多く存在する。
「万能」な環境変数である
$MANOPT
を用いれば、コマンドラインと同じ形式の文字列を設定することもできる。
ただしオプションの引き数の一部として用いられるスペースは、
すべてエスケープする (バックスラッシュを前置する) 必要がある。
man
は、
$MANOPT
をコマンドラインの前に解釈する。引き数を必要とするオプションに関して
は、同じものがコマンドラインにも存在すれば、コマンドラインの方が優先さ
れる。
$MANOPT
に設定されたオプションをすべてリセットするには、コマンドラインオプション
の最初に
-D
を指定すればよい。
これによって
man
は一時的に
$MANOPT
の内容を「忘れる」が、環境変数の内容自体は有効なまま残る。
man_db
パッケージのユーティリティ群の動作は、
index
データベースキャッシュによって、非常に効率化されている。
これらのキャッシュには、各マニュアルページのファイルシステムでの位置と
そのページの
whatis
(そのページの要約) が保持されている。
man
の仕事の一つは、このキャッシュの整合性を保証することである。
これまで用いられていた
whatis
テキストデータベースでは、手動でソフトウェアを動作させて更新作業を行う
必要があったわけだが、この新しいデータベースキャッシュによって、これは
必要なくなった。また、毎回ファイルシステムを検索して必要なマニュアルペー
ジを探す必要がなくなったので、
man
の動作が速くなった。
mandb
によって作成された
index
データベースが、特定のマニュアルページ階層 (hierarchy) に存在しない
場合でも、
man
は要求されたマニュアルページの検索を続ける。ただしその階層の中では
ファイル名の展開 (glob) が必要となる。
whatis
や
apropos
が
index
を見つけられない場合、それらは従来形式の
whatis
データベースを代わりに用いて、そこから情報を引きだそうとする。
`user' マニュアルページ階層には、「その場」で生成された
index
キャッシュが含まれることになるだろう。
これらのユーティリティでは、圧縮された nroff ソースファイルも扱うこと
ができる。デフォルトでは、拡張子が
.Z, .z, .gz
のファイルが利用できる。
またデフォルトでは、生成された cat ページはすべて
gzip
を用いて圧縮される。
/usr/man
や
/usr/X11R6/man
のような、 `global' なマニュアルページ階層では、
それぞれ対応する cat ページの階層が存在するであろう。
従来は、 cat ページは man ページと同じ階層の下に置かれていた。
しかし
Linux File System Standard (FSSTND)
に記述されているような理由から、 cat ページは他の場所に置く方が良い
かもしれない。こうしたい場合の方法については、
manpath(5)
を読んで欲しい。理由に関しては
FSSTND
文書を参照のこと。
このパッケージでは、国際化をサポートしている。
locale
の機能を用いることによって、ネイティブな言語のマニュアルページにアクセ
スすることができる (もちろんシステムに存在していれば、であるが)。
この機能を有効にするには、
$LC_MESSAGES,
$LANG
のいずれかか、他の (システム依存の) 環境変数を、使用している
言語のロケールに設定する必要がある。通常言語ロケールは
POSIX 1003.1
に基づいたフォーマットで指定する:
<language>[_ <territory>[.<character-set>[,<version>]]]
要求したページに対して、使用している
locale
のものが存在すれば、そのページが標準のページ (通常はアメリカ英語) の
代わりに表示される。
このパッケージでは、国際化されたメッセージカタログも用いることができ、
上記と同様の方法で有効にできる (もちろんカタログが存在すれば、だが)。
このパッケージに、あなたのネイティブな言語に対応したマニュアルページ
やメッセージカタログがなく、これを追加したいと思う人は、著者に連絡して
欲しい。このような努力をまとめたいと思っている。
このマニュアルページャーで用いることのできる、その他の機能や拡張については、
このパッケージに付属しているドキュメントを読んで欲しい。
デフォルト
man
は
index
データベースキャッシュを検索して、要求されたマニュアルページを見つけよ
うとする。これに失敗すると、キャッシュの整合性のチェックが行われ、デー
タベースがファイルシステムと正しく対応していることを確認する。
最初にキャッシュを生成したあとは、通常
mandb
を実行する必要はない (ただしキャッシュが壊れた場合は別である)。
マニュアルページの位置が決定すると、これに対してすでに整形済みの `cat'
ファイルが存在するかどうか、これが nroff ファイルよりも新しいかどうか
がチェックされる。両方とも真である場合は、この整形済みファイルが (通常
は) 伸長されてからページャーで表示される。ページャーは色々な方法で指定
できる。何も指定しなければデフォルトのものが用いられる (詳細はオプション
-P
の部分を参照のこと)。
cat がない場合、あるいは nroff ファイルよりも古い場合は、 nroff がいろ
いろなフィルタプログラムで整形されてから、その場で表示される。
cat ファイルが作成できる (対応する cat ディレクトリが存在していて、書
き込み権限がある場合) には、
man
はバックグラウンドで cat ファイルを圧縮して保存する。
フィルタはいろいろな方法で指定できる。まず、コマンドラインオプション
-p
または環境変数
$MANROFFSEQ
による指定ができる。
-p
オプションも環境変数も指定されていない場合は、nroff ファイルの先頭行がプリ
プロセッサ文字列 (preprocessor string) として解釈される。プリプロセッ
サ文字列として有効なものであるためには、先頭行は以下のようなものでなけ
ればならない。
'\
<string>
ここで
string
は、以下の
-p
オプションの部分で記述されている文字の任意の組み合わせである。
上記のいずれの手法も用いられず、フィルタの情報が与えられなかった場合は、
デフォルトのセットが用いられる。
整形プロセスのパイプラインは、フィルタ群と基本整形プログラム
(nroff
または
[tg]roff
+ オプション
-t)
によって構成され、これが実行される。
あるいは、実行可能なプログラム
mandb_nfmt
(または
mandb_tfmt
と
-tオプション)
が man 階層ツリーのルートにある場合は、これが代わりに実行される。
このプログラムはマニュアルのソースファイルとプリプロセッサ文字列とを
引き数に取る。省略可能であるが
-T
によるデバイス指定を行うこともできる。
オプション
引き数を取らないオプションは、コマンドラインでも
$MANOPT
環境変数ででも、重ねて指定してかまわない。
引き数をとるオプションが重なった場合は、
後から指定されたものが優先される。
- -l, --local-file
-
`local' モードを有効にする。システムのマニュアルを
検索する代わりに、ローカルなマ ニュアルファイルを整形して表示する。
マニュアルページの引き数は、正しいフォーマットを持った
nroff のソースファイルであるとみなされる。
nroff ソースが圧縮されている場合は、圧縮を示す拡張子が
man
システムによってサポー トされていれば、展開されてから処理・表示される。
cat ファイルは生成されない。 `-' が引き数に指定された場合は、
標準入力から入力が与えられるとみなされる。
- -L locale, --locale=locale
-
man
は通常、カレント・ロケールを C 関数
setlocale(3)
を呼ぶことによって決定しようとする。この関数の動作は、例えば
$LC_MESSAGES
や
$LANG
などのような、様々な環境変数によって影響される。
この値を一時的に上書きするには、このオプションを使って
man
に直接
locale
文字列を渡せば良い。
このオプションが効力を持つのは、実際のページの検索が始まってからである
ことに注意すること。ヘルプメッセージなどの出力は、起動前に定まっていた
ロケールで出力される。
- -D, --default
-
このオプションは、通常先頭に指定して、
man
のふるまいをデフォルトにリセットする。このオプションの目的は、
$MANOPT
で指定されているかもしれないオプションをリセットすることである。
この
-D
以降に指定されたオプションは、通常通りの効果を持つ。
- -M path, --manpath=path
-
通常の代わりに用いる manpath を指定する。デフォルトでは、
man
は検索パスの決定に
manpath
由来のコードを用いている。このオプションは、
$MANPATH
環境変数を上書きする。またこのオプションを指定すると、
-m
オプションは無視される。
- -P pager, --pager=pager
-
出力に用いるページャーを指定する。デフォルトでは、
man
は
exec /usr/bin/pager -s
を用いる。
このオプションは
$PAGER
環境変数を上書きする。また、このオプションは
-f
や
-k
と同時に用いることはできない。
- -r prompt, --prompt=prompt
-
最新版の
less
がページャーに用いられている場合には、
man
は
less
のプロンプトやオプションを設定しようとする。
デフォルトは以下のようなものである。
Manual page name(sec) line x
ここで
name
はマニュアルページの名前、
sec
はセクション、
x
は現在の行番号である。
デフォルトのオプションは
-six8
である。これは環境変数
$LESS
を通して設定される。実際のデフォルトは
locale
の選択に依存する。
-r
を文字列とともに指定すると、デフォルトを上書きできる。
使用している
less
がデフォルトのオプションを受け付けなかったり、
プロンプトを変更したい場合に、このオプションを用いる必要があるだろう。
文字列に
$MAN_PN
というテキストを入れると、現在のマニュアル名と、セクションを
`(' と `)' で括ったものとに展開される。
デフォルトの出力となるような文字列は、以下のように表現できる。
\ Manual\ page\ \$MAN_PN\ ?ltline\ %lt?L/%L.:
byte\ %bB?s/%s..?\ (END):?pB %pB\\%..
ここで二行に分割されているのは、単に可読性のためである。これらの意味に
関しては
less(1)
のマニュアルページを見ること。このプロンプト文字列は、まずシェルによって
解釈される。
プロンプト中に存在するダブルクォート、バッククォート、バックスラッシュ
は、すべてバックスラッシュを前置してエスケープしなければならない。プロンプ
ト文字列はエスケープされた $ で終わり、これ以降は less に与える追加オ
プションになる。デフォルトでは、
man
は
-ix8
をオプションとして指定する。
- -7, --ascii
-
純粋な
ascii(7)
コードで記述されたマニュアルページを 7 ビット端末 (や端末エミュレータ)
で読む場合、
GNU nroff
の
latin1(7)
デバイス表示を用いると、文字によっては正しく表示されない可能性がある。
このオプションを用いると、純粋な
ascii
のマニュアルページを、
latin1
デバイスでも
ascii
で表示することができるようになる。
ただしこれは
latin1
テキストを変換するわけではない。以下の表は、行われる変換の様子を
示すものである。
Description | Octal | latin1 | ascii
|
|
continuation hyphen | 255 | 73 | -
|
bullet (middle dot) | 267 | • | o
|
acute accent | 264 | ´ | '
|
multiplication sign | 327 | × | x
|
latin1
カラムの表示が正しい場合は、あなたが現在使っている端末は
latin1
文字向けに設定されているので、このオプションは必要ない。
latin1
と
ascii
カラムが同一である場合は、あなたは現在このページをこのオプションで
見ているか、あるいは
man
がこのページの整形に
latin1
デバイスの指定を用いていないことになる。
latin1
カラムが空であるか、変な表示になっている場合は、マニュアルページを見る
場合にはこのオプションを指定する必要がある。
このオプションは
-t, -T, -Z
オプションを用いている場合は無視される。また
GNU
以外の
nroff
を用いている場合も、おそらく指定する意味はない。
- -S list, --sections=list
-
引き数
list
には、検索対象とするセクションをコロン区切りで指定する。検索は
指定した順序でなされる。このオプションは
$MANSECT
環境変数を上書きする。
- -a, --all
-
デフォルトでは
man
は検索で見つかったページのうち、もっとも適切と判断したものを一つだけ
表示して終了する。このオプションを用いると、
man
は検索でマッチしたすべてのファイルを表示する。
- -c, --catman
-
このオプションは一般的な用途のためのものではなく、
catman
プログラムを通してのみ用いるべきである。
- -d, --debug
-
実際にはマニュアルページを表示せず、代わりに大量のデバッグ情報を出力す
る。
- -e sub-extension, --extension=sub-extension
-
(例えば
Tcl
などがそうだが)
システムによっては、大きなマニュアルページのパッケージを、
メインのマニュアルページ階層にインストールするようなものがある。
同じ名前のページ (例えば
exit(3)
など) が二つ存在してしまうことを避けるために、通常
Tcl
のページは
l
というセクションに割り当てられえいた。
これは望ましくないので、ページを正しいセクションに入れ、それらに特定の
「拡張」を追加することができるようになった。例えばこの場合なら
exit(3tcl)
のようになる。
通常の動作では、
man
は
exit(3)
を
exit(3tcl)
より優先して表示する。
この状況を調整し、目的とするページがどのセクションにあるのかをいちいち
記憶しておかなくてもすむように、
man
に
sub-extension
文字列を与えることができるようになった。この文字列は、ページが
所属するパッケージを指定するものである。上記の例なら、オプションとして
-e tcl
を
man
に与えれば、検索対象とするページは拡張子が
*tcl
のものに限られるようになる。
- -f, --whatis
-
whatis
と等価。指定したマニュアルページが存在すれば、そのページの要約文を表示する。
詳細は
whatis(1)
を見よ。
- -h, --help
-
ヘルプメッセージを表示して終了する。
- -k, --apropos
-
apropos
と等価。マニュアルページの要約文からキーワードを検索し、
マッチしたものをすべて表示する。
詳細は
apropos(1)
を見よ。
-m
system [,...],
--systems=system[,...]
-
現在のシステムから、他のオペレーティングシステムについてのマニュアルに
アクセスできる場合には、このオプションをつけるとそれらのマニュアルが
検索される。
NewOS のマニュアルページを検索する場合には、
-m
NewOS
のようなオプションを指定する。
system
には複数のオペレーティングシステムをコンマで区切った形式で指定できる。
ネイティブのオペレーティングシステムの
whatis
記述を検索の対象に含めるためには、システム名
man
を引き数文字列に加える。
このオプションは
$SYSTEM
環境変数を上書きする。
- -p string, --preprocessor=string
-
nroff
または
troff/groff
の前に実行するプリプロセッサのシーケンスを指定する。
すべてのインストール環境で、以下すべてのプリプロセッサが使えるわけではない。
プリプロセッサと、それを指定する文字のいくつかを以下に挙げる。
eqn (e),
grap (g),
pic (p),
tbl (t),
vgrind (v),
refer (r)
このオプションは
$MANROFFSEQ
環境変数を上書きする。
zsoelim
は、常に他のプリプロセッサすべてに先立って実行される。
- -u, --update
-
index
データベースキャッシュは、通常「その場」で更新される。つまり、キャッシュ
の整合性を保つために
mandb
を定期的に実行する必要はない。もし選択したマニュアルページが
キャッシュに存在しなかった場合や、
-a
オプションが指定された場合には、
man
は「ディレクトリレベル」での整合性チェックを行い、キャッシュがファイル
システムを正しく反映したものになっていることを確認する。
マニュアルページの検索に先立ち、「i-ノードレベル」での整合性チェック
を行いたい場合は、このオプション
-u
を指定する。
- -t, --troff
-
マニュアルページの整形と、標準出力への表示に
/usr/bin/groff -mandoc
を用いる。
-T
や
-Z
オプションの指定時に、このオプションを指定する必要はない。
-T device, --troff-device
[=device]
-
このオプションは
groff
(あるいは他の
troff)
の出力を、デフォルトから用いるデバイスにあわせて変更するために用いられる。
-t
が暗黙のうちに指定される。例としては (Groff-1.09 でのもの)、
dvi, latin1, X75, X100
などが挙げられる。
- -Z, --ditroff
-
groff
は
troff
を実行し、その後適切なポストプロセッサを用いて選択したデバイスに応じた
出力を生成する。もし
/usr/bin/groff -mandoc
が
groff
であるならば、このオプションは
groff
に渡されて、ポストプロセッサの利用を抑制する。
-t
が暗黙のうちに指定される。
- -w, --where, --location
-
実際にはマニュアルページを表示せず、整形・表示されることになるファイル
の位置を表示する。複数のファイルが表示されることもある。ファイルが cat
ファイルの場合は、ソースである nroff ファイルの位置も表示される。
- -V, --version
-
バージョンと著者に関する情報を表示する。
返り値
- 0
-
プログラムの実行に成功した。
- 1
-
使用法、文法、設定ファイルのいずれかにエラーがある。
- 2
-
実行時エラー。
- 3
-
子プロセスの返り値が非ゼロだった。
- 16
-
少なくとも、ページ、ファイル、キーワードのどれか一つが存在しないか、マッ
チしなかった。
環境変数
- MANPATH
-
$MANPATH
が設定されている場合には、その値がマニュアルページの検索パスとして用
いられる。
- MANROFFSEQ
-
$MANROFFSEQ
が設定されている場合には、その値は各々のマニュアルページを処理
するプリプロセッサのセットを定義する。デフォルトのプリプロセッサの
セット
はシステムによって異なる。
- MANSECT
-
$MANSECT
が設定されている場合には、その値はセクションのリスト (コロン区切り) と
して扱われ、マニュアルのどのセクションを検索するかを決定する際に用いら
れる。セクションは指定された順序で検索される。
- PAGER
-
$PAGER
が設定されている場合には、その値がマニュアルページを表示するプログラム
の名前として用いられる。デフォルトでは
exec /usr/bin/pager -s
が用いられる。
- SYSTEM
-
$SYSTEM
環境変数が設定されている場合には、
-m string
オプションと同じ効果を持つ。 string が
$SYSTEM
の内容である。
- MANOPT
-
$MANOPT
が設定されている場合には、その内容が
man
のコマンドラインに先立って解釈される。形式はコマンドラインのものと同じ
である。
man
に影響する他のすべての環境変数には、同じ効果を持つコマンドラインオプション
が存在し、したがって
$MANOPT
に記述することができるので、これらの環境変数はいずれ使用されなくなる
だろう。
オプションの引き数の一部として解釈させたいすべてのスペースは、エスケープ
する必要があることに注意すること。
- LANG, LC_MESSAGES
-
システムと実装に依存するが、
$LANG
と
$LC_MESSAGES
のどちらか、あるいは両方は、カレントロケールの指定に用いられる。
man
は自分自身のメッセージを、そのロケールで出力する (可能な場合)。
正確な内容は
setlocale(3)
を見よ。
ファイル
- /etc/manpath.config
-
man_db の設定ファイル。
- /usr/man
-
global なマニュアルページの階層。
- /usr/man/index.(bt|db|dir|pag)
-
従来形式の、 global なデータベースキャッシュの
インデックス。
- /var/catman/index.(bt|db|dir|pag)
-
新しい (FSSTND 準拠の)、 global なデータベースキャッシュのインデッ
クス。
- /usr/man/mandb_nfmt
-
ある階層に専用の整形スクリプトを用意する場合の例。
nroff
ベースのものになっている。
- /usr/man/mandb_tfmt
-
ある階層に専用の整形スクリプトを用意する場合の例。
[tg]roff
を
-t
と共に用いるものになっている。
関連項目
mandb(8),
manpath(1),
manpath(5),
apropos(1),
whatis(1),
catman(8),
less(1),
nroff(1),
troff(1),
groff(1),
zsoelim(1),
setlocale(3),
ascii(7),
latin1(7),
FSSTND
履歴
1990, 1991 - オリジナルの著者は John W. Eaton (jwe@che.utexas.edu) で
あった。
Dec 23 1992: Rik Faith (faith@cs.unc.edu) が Willem Kasdorp
(wkasdo@nikhefk.nikef.nl) のバグフィックスを当てた。
April 30th, 1994 - July 12th 1995:
Wilf. (G.Wilford@ee.surrey.ac.uk) が何人かの人々の助力のもと、このパッ
ケージをメンテナンスしている。
Index
- 名前
-
- 書式 aa
-
- 説明
-
- 例
-
- 概要
-
- デフォルト
-
- オプション
-
- 返り値
-
- 環境変数
-
- ファイル
-
- 関連項目
-
- 履歴
-
This document was created by
man2html,
using the manual pages.
Time: 16:46:44 GMT, November 24, 2023