manページ

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
manコマンドのmanページ

manページ(マンページ)とは、UNIXおよびUnix系オペレーティングシステムの man システムのコンテンツであり、電子化されたドキュメントのこと。各ページは独立した文書として構成されている。ライブラリやシステムコールなどのコンピュータプログラム、標準や慣例、抽象的概念などに関するページがある。man コマンドを実行することでmanページを閲覧することができる。

使い方[編集]

マニュアル内のあるページを閲覧するには、以下のようなコマンドを使用する。

% man [<章番号>] <ページ名>
% man [-s <章番号>] <ページ名>

シェルのプロンプトで、たとえば "man ftp" と入力する(章番号は通常省略可能)。見やすくするため、ページャとして一般にlessをman内部で用いている。

ページを文章内で指す場合 "ページ名(章番号)" という書き方をする(たとえば、ftp(1))。章番号は、同じ名前のページが複数の章に存在する場合、特定のページを指定するために使う。これはたとえば、システムコールの名前とコマンドの名前などが衝突する場合に必要となる。たとえば、man(1)man(7)exit(2)exit(3) などがある。

多くの man のバージョンでは最近閲覧した数ページのフォーマットされた内容をキャッシュとして保存している。マニュアルファイルのパス設定は環境変数MANPATHにて定義・指定する。このパスの通っていない場所にあるマニュアルは表示されない。また、言語設定が“ja”または“japanese”になっていない場合に、日本語と英語両方のマニュアルが存在する場合は、日本語で表示されない可能性があるので注意が必要。

manコマンドのその他のオプションを知るには、

% man man
% man 5 man

というコマンドラインを入力・実行する。

歴史[編集]

UNIX Programmer's Manual1971年11月3日に最初に出版された。オンラインのmanページは1971年、ダグ・マキルロイ英語版の命令でデニス・リッチーケン・トンプソンが書いた。後に UNIX System III のマニュアルの主執筆者となった Ted Dolotta が汎用的なtroff(en:troff)マクロを書き、それをマニュアル向けに修正したものを使っている。当時、マニュアルページシステムによる文書のオンライン化は大きな特長と考えられていた。今日では、UNIX上のコマンドライン・アプリケーションには必ずそのmanページが付属しており、逆にmanページがないアプリケーションは品質が悪いと思われるようになった。実際、Debianプロジェクトなどでは、未だ書かれていないプログラムのmanページまで作っていた。

しかし、各アプリケーションについてひとつのページという形態は複雑で大きなアプリケーションやユーザとやりとりを行うアプリケーションには合わず、グラフィックスなども使えないフォーマット機能も時代遅れになりつつある。アプリケーションが複雑化し、ユーザーが文書がないことに文句を言わないことから、manページシステムは廃れつつあり、後継のシステムが開発されつつある。

基本的には全てのUNIX系システムはmanページをサポートし続けているが、多くの場合それ以外のオンライン文書やヘルプを提供している。初期の後継システムのプロジェクトとしては、GNUプロジェクトの "info" システムがあり、これは素朴なハイパーテキストシステムであった。多くのUNIXのGUIアプリケーション(特にGNOMEKDEの開発環境を使って作られたもの)は、ユーザー向け文書としてHTMLを採用し、yelp などのHTMLビューアーをアプリケーションに内蔵することが多い。

manページのデフォルトのフォーマットはtroff(en:troff)であり、troffマクロの man(見た目重視)またはシステムによっては mdoc(意味論重視)を使っている。これによりmanページはPostScriptPDFに変換でき、様々なフォーマットで表示・印刷可能となっている。

最近のLinuxディストリビューションのmanパッケージには man2html というコマンドがあり、manページをHTMLブラウザで閲覧することも可能である。

2010年、OpenBSDはtroffの代わりにmandoc英語版をmanページのフォーマットに採用した。mandocはmanページ専用のコンパイラ/フォーマッタで、PostScriptHTMLXHTML、端末向けの出力を自前で行える。

マニュアルの章立て[編集]

マニュアルは一般に8つの章に分かれており、以下のように構成されている(BSD系とLinuxでの章立て)。

内容
1 汎用コマンド
2 システムコール
3 ライブラリ関数、特に標準Cライブラリ関数
4 特殊なファイル(主に /dev にあるデバイス)とドライバ
5 ファイル形式とその使用法
6 ゲームスクリーンセーバー
7 その他
8 システム管理コマンドとデーモン

UNIX System V では章立てが少し異なっている。

内容
1 汎用コマンド
1M システム管理コマンドとデーモン
2 システムコール
3 標準Cライブラリ関数
4 ファイル形式とその使用法
5 その他
6 ゲームスクリーンセーバー
7 特殊なファイル(主に /dev にあるデバイス)とドライバ

いくつかのシステムではマニュアルに以下のような章もある。

内容
0 標準Cライブラリヘッダファイル
9 カーネル ルーチン
n Tcl/Tk キーワード
x X Window System

章は後ろに文字を付与することでさらに分割されている。例えば、3C は Cライブラリ、3M は数学ライブラリなどといった具合である。これに関連して、8章のシステム管理コマンドを 1章の一部として 1M で表すこともある。以下のような文字は章を横断して同じ意味で使われる。

付与文字 説明
p POSIX 仕様
x X Window System 文書

レイアウト[編集]

manページのレイアウトは、単純なテキストとして表示するのに最適化され、何らかの強調やフォント制御も可能ならば行われる。1つの man ページ内の節構成は以下の通りで、常に以下の順序で配置される。

  • NAME(名前) - コマンドや関数の名前とその機能を一行で説明する文。
  • SYNOPSIS(書式) - コマンドの場合、コマンド行のオプションを含めた形式定義。関数の場合、定義のあるヘッダファイルの指定とプロトタイプ宣言形式の定義。
  • DESCRIPTION(説明) - コマンドや関数についての具体的な説明。
  • EXAMPLES(例) - 使用法の具体例。
  • SEE ALSO(関連項目) - 関連するコマンドや関数のリスト。

他にも節はあるが、あらゆるマニュアルで共通化されているわけではない。例えば、OPTIONS、EXIT STATUS、ENVIRONMENT、KNOWN BUGS、FILES、AUTHOR、REPORTING BUGS、HISTORY、COPYRIGHT などがある。

manページの書き方[編集]

Mac OS XGNU/Linuxでは、manmdocという2つのgroffマクロのパッケージがmanページ執筆に使える。man の方が古く、UNIXの従来からのフォーマットのmanページを書くことができる。一方 mdoc は新しく、文書の意味論的構造をよくサポートしている。Mac OS XおよびGNU/Linuxでこれらの使い方を知るには、man groff_man および man groff_mdoc というコマンドを実行すればよい。

あるいは、システム内にある個々のmanページのソースコードを見て真似をすればmanページを書ける。Mac OS XとGNU/Linuxの場合、通常/usr/share/manにmanページのソースファイルがある。ソースファイルの場所は、例えばコマンド名がcommandならばman -w commandを実行することで得られる。

manページはDocBookLinuxDoc英語版フォーマットで書くこともでき、それをgroffにより変換すればよい。

manページの変換[編集]

オンラインで(manコマンドを使って)manページを見る以外に、manページをPDFに変換して印刷することもできる。Mac OS X と GNU/Linux では次のように入力する(command を適当なコマンド名に置き換えること)。

 groff -mandoc command.1 >command.ps
 gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=command.pdf command.ps

1行目でmanページをPostScriptフォーマットでエクスポートし、2行目でPDFに変換している。これは、man フォーマットでも mdoc フォーマットでも機能する。場合によっては、等幅フォントを使って印刷した方が読みやすい場合もある。その場合は上記の groff コマンドの -mandoc オプションの次に -f C オプションを追加すればよい。

mandoc英語版フォーマッタは各種ファイルフォーマットで出力でき、PDFフォーマットも直接サポートしている。

 mandoc -Tpdf command.1 >command.1.pdf
 mandoc -Tps command.1 >command.1.ps
 mandoc -Txhtml command.1 >command.1.xhtml

外部リンク[編集]

この記述は GNU Free Documentation License のもとに公開されているコンピュータ用語辞典『 Free On-line Dictionary of Computing (FOLDOC) 』に基づいています。