「Manページ」の版間の差分

削除された内容 追加された内容
Cewbot (会話 | 投稿記録)
m bot: 解消済み仮リンクダグ・マキルロイを内部リンクに置き換えます
m編集の要約なし
14行目:
ページを文章内で指す場合 "ページ名(章番号)" という書き方をする(たとえば、{{Man|1|ftp|||inline}})。章番号は、同じ名前のページが複数の章に存在する場合、特定のページを指定するために使う。これはたとえば、[[システムコール]]の名前と[[コマンド (コンピュータ)|コマンド]]の名前などが衝突する場合に必要となる。たとえば、{{Man|1|man|||inline}} と {{Man|7|man|||inline}}、{{Man|2|exit|||inline}} と {{Man|3|exit|||inline}} などがある。
 
多くの '''<tt>man</tt>''' のバージョンでは最近閲覧した数ページのフォーマットされた内容をキャッシュとして保存している。マニュアルファイルのパス設定は環境変数MANPATHにて定義・指定する。このパスの通っていない場所にあるマニュアルは表示されない。また、言語設定が “ja” または “japanese” になっていない場合に、日本語と英語両方のマニュアルが存在する場合は、日本語で表示されない可能性があるので注意が必要。
 
'''<tt>man</tt>'''コマンドのその他のオプションを知るには、
24行目:
 
== 歴史 ==
''[http://man.cat-v.org/unix-1st/ UNIX Programmer's Manual]'' は[[1971年]]11月3日に最初に出版された。オンラインのmanページは1971年、[[ダグラス・マキルロイ|ダグ・マキルロイ]]の命令で[[デニス・リッチー]]と[[ケン・トンプソン]]が書いた。後に [[UNIX System III]] のマニュアルの主執筆者となった Ted Dolotta が汎用的な[[troff]]<small>([[:en:troff]])</small>マクロを書き、それをマニュアル向けに修正したものを使っている。当時、マニュアルページシステムによる文書のオンライン化は大きな特長と考えられていた。今日では、UNIX上のコマンドライン・アプリケーションには必ずそのmanページが付属しており、逆にmanページがないアプリケーションは品質が悪いと思われるようになった。実際、[[Debian]]プロジェクトなどでは、未だ書かれていないプログラムのmanページまで作っていた。
 
しかし、各アプリケーションについてひとつのページという形態は複雑で大きなアプリケーションやユーザとやりとりを行うアプリケーションには合わず、グラフィックスなども使えないフォーマット機能も時代遅れになりつつある。アプリケーションが複雑化し、ユーザーが文書がないことに文句を言わないことから、manページシステムは廃れつつあり、後継のシステムが開発されつつある。
 
基本的には全てのUNIXUnix系システムはmanページをサポートし続けているが、多くの場合それ以外のオンライン文書やヘルプを提供している。初期の後継システムのプロジェクトとしては、[[GNUプロジェクト]]の "[[Texinfo|info]]" システムがあり、これは素朴な[[ハイパーテキスト]]システムであった。多くのUNIXの[[グラフィカルユーザインタフェース|GUI]]アプリケーション(特に[[GNOME]]や[[KDE]]の開発環境を使って作られたもの)は、ユーザー向け文書として[[HyperText Markup Language|HTML]]を採用し、<code>yelp</code> などのHTMLビューアーをアプリケーションに内蔵することが多い。
 
manページのデフォルトのフォーマットは[[troff]] <small>([[:en:troff]])</small>で あり、troffマクロの man(見た目重視)またはシステムによっては mdoc(意味論重視)を使っている。これによりmanページは[[PostScript]]や[[Portable Document Format|PDF]]に変換でき、様々なフォーマットで表示・印刷可能となっている。
 
最近の[[Linuxディストリビューション]]のmanパッケージには man2html というコマンドがあり、manページをHTMLブラウザで閲覧することも可能である。
49行目:
|3 || [[ライブラリ]]関数、特に[[標準Cライブラリ]]関数
|-
|4 || 特殊なファイル(主に /dev にあるデバイス)と[[デバイスドライバ|ドライバ]]
|-
|5 || [[ファイルフォーマット|ファイル形式]]とその使用法
60行目:
|}
 
[[UNIX System V]] では章立てが少し異なっている。
 
{| class="wikitable"
80行目:
|6 || [[コンピュータゲーム|ゲーム]]と[[スクリーンセーバー]]
|-
|7 || 特殊なファイル(主に /dev にあるデバイス)と[[デバイスドライバ|ドライバ]]
|}
 
98行目:
|}
 
章は後ろに文字を付与することでさらに分割されている。例えば、3C Cライブラリ、3M は数学ライブラリなどといった具合である。これに関連して、8章のシステム管理コマンドを 1章の一部として 1M で表すこともある。以下のような文字は章を横断して同じ意味で使われる。
{| class="wikitable"
!付与文字
!説明
|-
|p || [[POSIX]] 仕様
|-
|x || [[X Window System]] 文書
|}
 
== レイアウト ==
manページのレイアウトは、単純なテキストとして表示するのに最適化され、何らかの強調やフォント制御も可能ならば行われる。1つの man ページ内の節構成は以下の通りで、常に以下の順序で配置される。
 
* NAME(名前) - コマンドや関数の名前とその機能を一行で説明する文。
117行目:
* SEE ALSO(関連項目) - 関連するコマンドや関数のリスト。
 
他にも節はあるが、あらゆるマニュアルで共通化されているわけではない。例えば、OPTIONS、EXIT STATUS、ENVIRONMENT、KNOWN BUGS、FILES、AUTHOR、REPORTING BUGS、HISTORY、COPYRIGHT などがある。
 
== manページの書き方 ==
[[OS X|Mac OS XmacOS]]や[[GNU]]/[[Linux]]では、''man''と''mdoc''という2つの[[Groffgroff]]マクロのパッケージがmanページ執筆に使える。''man'' の方が古く、[[UNIX]]の従来からのフォーマットのmanページを書くことができる。一方 ''mdoc'' は新しく、文書の意味論的構造をよくサポートしている。Mac OS XmacOSおよびGNU/Linuxでこれらの使い方を知るには、<code>man groff_man</code> および <code>man groff_mdoc</code> というコマンドを実行すればよい。
 
あるいは、システム内にある個々のmanページの[[ソースコード]]を見て真似をすればmanページを書ける。Mac OS XmacOSGNU/Linuxの場合、通常<code>/usr/share/man</code>にmanページのソースファイルがある。ソースファイルの場所は、例えばコマンド名が<code>command</code>ならば<code>man -w command</code>を実行することで得られる。
 
manページは[[DocBook]]や{{仮リンク|LinuxDoc|en|LinuxDoc}}フォーマットで書くこともでき、それをgroffにより変換すればよい。
 
== manページの変換 ==
オンラインで(<code>man</code>コマンドを使って)manページを見る以外に、manページを[[Portable Document Format|PDF]]に変換して印刷することもできる。Mac OS X macOS GNU/Linux では次のように入力する(<code>command</code> を適当なコマンド名に置き換えること)。
<source lang="bash">
groff -mandoc command.1 >command.ps
gs -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=command.pdf command.ps
</source>
1行目でmanページを[[PostScript]]フォーマットでエクスポートし、2行目でPDFに変換している。これは''man'' フォーマットでも ''mdoc'' フォーマットでも機能する。場合によっては、[[等幅フォント]]を使って印刷した方が読みやすい場合もある。その場合は上記の <code>groff</code> コマンドの <code>-mandoc</code> オプションの次に <code>-f C</code> オプションを追加すればよい。
 
{{仮リンク|mandoc|en|mandoc}}フォーマッタは各種ファイルフォーマットで出力でき、PDFフォーマットも直接サポートしている。
142行目:
 
== 外部リンク ==
* [http://man.cat-v.org/unix-1st/ ''Unix Programmer's Manual'' of November 3, 1971] ([http://cm.bell-labs.com/cm/cs/who/dmr/1stEdman.html 原本をスキャンし PS および PDF フォーマットにしたもの] も参照)
* [http://manpages.bsd.lv/history.html History of UNIX Manpages] - UNIX manページの歴史に関する文献
* [http://www.freebsd.org/cgi/man.cgi Online man pages] 各種Unix、Linux、Darwin などのOSの各バージョンのmanページを閲覧可能
* [http://primates.ximian.com/~flucifredi/man/ man] - オープンソース版manコマンドの実装; Red Hat, Fedora, Gentoo, Slackware, Mac OS-X などで採用している。
* [http://man-db.nongnu.org/ man-db] - 別のmanコマンド実装; Debian/Ubuntu, SUSE などで採用している。
* [http://manpages.bsd.lv Practical UNIX Manuals: mdoc] - ''mdoc'' でmanページを書くためのチュートリアル
* {{Man|1|man||format and display the on-line manual pages}}
* [http://linuxjm.sourceforge.jp/html/man/man1/man.1.html Manpage of man] - [[JM Project]]
154行目:
{{FOLDOC}}
 
{{DEFAULTSORT:まんManへえし}}
[[Category:UNIX]]
[[Category:UNIXのソフトウェア]]