manページ(マンページ)とは
manページとは、
UNIXおよび
Unix系オペレーティングシステムで利用される、電子化されたドキュメントシステムです。`man`コマンドを通じて、システムに関する様々な情報を閲覧できます。各ページは独立した文書として構成されており、コマンド、
システムコール、
ライブラリ、標準、慣例、抽象的な概念など、幅広いトピックを扱います。
manページの使い方
manページを閲覧するには、`man`コマンドをターミナルで使用します。
bash
man [<章番号>] <ページ名>
man [-s <章番号>] <ページ名>
例えば、`man ftp`と入力すると、ftpコマンドに関するmanページが表示されます。章番号は通常省略可能ですが、同じ名前のページが複数の章に存在する場合は、章番号を指定することで特定のページを参照できます。例えば、`man(1)`はmanコマンドに関するユーザーコマンドのページを、`man(7)`はmanコマンドのその他の情報を参照します。表示には、一般に`less`などの
ページャが用いられます。
最近の`man`の実装では、閲覧したページのキャッシュ機能や、`MANPATH`環境変数によるマニュアルファイルのパス設定、言語設定による表示言語の切り替えなどの機能があります。
manコマンド自体のオプションを確認するには、`man man`または`man 5 man`を実行します。
manページの歴史
UNIX Programmer's Manualは
1971年に最初に出版され、オンラインのmanページは同年、デニス・リッチーと
ケン・トンプソンによって作成されました。当初からオンライン化されたドキュメントシステムは大きな特徴とみなされ、現在では、多くの
UNIX系システムでコマンドライン・アプリケーションに必ずmanページが付属しています。manページがないアプリケーションは品質が低いとみなされることもあります。
しかし、アプリケーションの複雑化に伴い、manページシステムは時代遅れになりつつあり、HTMLベースのヘルプシステムや、
ハイパーテキストシステムであるGNUの"info"システムなど、後継のシステムが開発されています。しかし、manページは今でも多くの
Unix系システムで重要なドキュメント形式として利用されています。
manページのフォーマット
manページのデフォルトのフォーマットは`troff`で、`man`マクロまたは`mdoc`マクロを用いて記述されます。`troff`はテキストを整形するための組版システムで、manページは
PostScriptやPDFに変換することもできます。最近の
Linuxディストリビューションでは、`man2html`コマンドを使ってHTML形式で閲覧することも可能です。
OpenBSDでは、`troff`の代わりに`mandoc`が採用されています。`mandoc`はmanページ専用のコンパイラ/フォーマッタで、様々なフォーマットでの出力が可能です。
マニュアルの章立て
manページは、一般的に以下の8つの章に分かれています(BSD系と
Linuxの場合)。
1. Executable programs or shell commands (実行可能なプログラムまたはシェルコマンド)
2. System calls (
システムコール)
3. Library calls (
ライブラリコール)
4. Special files (デバイスファイル)
5. File formats and conventions (
ファイルフォーマットと慣例)
6. Games (ゲーム)
7. Miscellaneous (その他)
8. System administration commands (システム管理コマンド)
UNIX System Vでは章立てが若干異なります。また、システムによっては上記の章以外に、追加の章が存在することもあります。
章は、例えば3C(C
ライブラリ)、3M(数学
ライブラリ)のように、さらに細分化されることがあります。また、1Mは8章のシステム管理コマンドを表すことがあります。
manページのレイアウト
manページのレイアウトは、テキスト表示に最適化されています。一般的に、以下の順序で節が構成されています。
NAME (名前) - コマンドや関数の名前と機能の簡単な説明。
SYNOPSIS (書式) - コマンドの構文や関数のプロトタイプ。
DESCRIPTION (説明) - コマンドや関数の詳細な説明。
EXAMPLES (例) - 使用例。
SEE ALSO (関連項目) - 関連するコマンドや関数のリスト。
その他の節として、OPTIONS、EXIT STATUS、ENVIRONMENT、KNOWN BUGS、FILES、AUTHOR、REPORTING BUGS、HISTORY、COPYRIGHTなどが含まれる場合があります。
manページの書き方
manページは、`groff`マクロパッケージの`man`または`mdoc`を使って記述します。`man`は古くから使われているフォーマット、`mdoc`はより新しいフォーマットです。macOSやLinuxでは、`man groff_man`や`man groff_mdoc`で詳細な情報を確認できます。既存のmanページのソースを参考にすることもできます。manページのソースファイルは、通常`/usr/share/man`に格納されています。`man -w command`でソースファイルのパスを確認できます。
DocBookやLinuxDocフォーマットでmanページを書き、それを`groff`で変換することもできます。
manページの変換
manページは、PostScriptやPDFに変換して印刷することもできます。
bash
man -t command | ps2pdf - command.pdf
この例では、`man -t`でPostScript形式に変換し、`ps2pdf`でPDF形式に変換しています。等幅フォントで印刷したい場合は、`-f C`オプションを追加します。
`mandoc`フォーマッタは、各種ファイルフォーマットを直接出力できます。
脚注
外部リンク
Unix Programmer's Manual of November 3, 1971 (オリジナルのスキャンとPS/PDF版)
History of UNIX Manpages (UNIX manページの歴史に関する文献)
Online man pages (様々なOSのmanページ閲覧サイト)
man (オープンソース版`man`コマンドの実装)
man-db (別の`man`コマンド実装)
Practical UNIX Manuals: mdoc (`mdoc`によるmanページの書き方チュートリアル)
man(1): format and display the on-line manual pages (
Linux User Commands Manual)
*
Manpage of man (JM Project)
この記事は2008年11月1日以前にFree On-line Dictionary of Computingから取得した項目の資料を元に、GFDL バージョン1.3以降の「RELICENSING」(再ライセンス) 条件に基づいて組み込まれています。