OSDN Git Service

(split) DP: release pages (catch up to 3.50).
[linuxjm/LDP_man-pages.git] / release / man7 / man-pages.7
1 .\" (C) Copyright 1992-1999 Rickard E. Faith and David A. Wheeler
2 .\" (faith@cs.unc.edu and dwheeler@ida.org)
3 .\" and (C) Copyright 2007 Michael Kerrisk <mtk.manpages@gmail.com>
4 .\"
5 .\" %%%LICENSE_START(VERBATIM)
6 .\" Permission is granted to make and distribute verbatim copies of this
7 .\" manual provided the copyright notice and this permission notice are
8 .\" preserved on all copies.
9 .\"
10 .\" Permission is granted to copy and distribute modified versions of this
11 .\" manual under the conditions for verbatim copying, provided that the
12 .\" entire resulting derived work is distributed under the terms of a
13 .\" permission notice identical to this one.
14 .\"
15 .\" Since the Linux kernel and libraries are constantly changing, this
16 .\" manual page may be incorrect or out-of-date.  The author(s) assume no
17 .\" responsibility for errors or omissions, or for damages resulting from
18 .\" the use of the information contained herein.  The author(s) may not
19 .\" have taken the same level of care in the production of this manual,
20 .\" which is licensed free of charge, as they might when working
21 .\" professionally.
22 .\"
23 .\" Formatted or processed versions of this manual, if unaccompanied by
24 .\" the source, must acknowledge the copyright and authors of this work.
25 .\" %%%LICENSE_END
26 .\"
27 .\" 2007-05-30 created by mtk, using text from old man.7 plus
28 .\" rewrites and additional text.
29 .\"
30 .\"*******************************************************************
31 .\"
32 .\" This file was generated with po4a. Translate the source file.
33 .\"
34 .\"*******************************************************************
35 .TH MAN\-PAGES 7 2013\-02\-24 Linux "Linux Programmer's Manual"
36 .SH 名前
37 man\-pages \- Linux の man ページを書く際の決まり事
38 .SH 書式
39 \fBman\fP [\fIsection\fP] \fItitle\fP
40 .SH 説明
41 This page describes the conventions that should be employed when writing man
42 pages for the Linux \fIman\-pages\fP project, which documents the user\-space API
43 provided by the Linux kernel and the GNU C library.  The project thus
44 provides most of the pages in Section 2, as well as many of the pages that
45 appear in Sections 3, 4, 5, and 7 of the man pages on a Linux system.  The
46 conventions described on this page may also be useful for authors writing
47 man pages for other projects.
48 .SS マニュアルページのセクション
49 .PP
50 マニュアルのセクションは、習慣的に以下のような定義が用いられている:
51 .TP  10
52 \fB1 コマンド (プログラム)\fP
53 シェルの中からユーザが実行できるコマンド。
54 .TP 
55 \fB2 システムコール\fP
56 カーネルが処理しなければならない関数。
57 .TP 
58 \fB3 ライブラリコール\fP
59 \fIlibc\fP の関数の大部分。
60 .TP 
61 \fB4 スペシャルファイル (デバイス)\fP
62 \fI/dev\fP 以下にあるファイル。
63 .TP 
64 \fB5 ファイルのフォーマットと規約\fP
65 \fI/etc/passwd\fP などの人が読めるファイルのフォーマット。
66 .TP 
67 \fB6 ゲーム\fP
68 .TP 
69 \fB7 概要、約束事、その他\fP
70 様々な事柄の概要、慣習、プロトコル、文字集合の規格、その他雑多なこと。
71 .TP 
72 \fB8 システム管理コマンド\fP
73 .\" .TP
74 .\" .B 9 Kernel routines
75 .\" This is an obsolete manual section.
76 .\" Once it was thought a good idea to document the Linux kernel here,
77 .\" but in fact very little has been documented, and the documentation
78 .\" that exists is outdated already.
79 .\" There are better sources of
80 .\" information for kernel developers.
81 \fBmount\fP(8)  のような root のみが実行可能なコマンド。
82 .SS マクロパッケージ
83 新しいマニュアルページは \fBman\fP(7)  で説明されている \fBgroff an.tmac\fP パッケージを使って記述すべきである。
84 この方針は一貫性の確保が主な理由である。既存の Linux のマニュアルページ の圧倒的多数がこれらのマクロを使って記述されている。
85 .SS ソースファイルの配置に関する決まり事
86 マニュアルページのソースコードの 1行の長さは 可能な限り 75文字を越えないようにしてほしい。 こうすることで、パッチをメール本文に載せて送る場合に、
87 メールクライアントによる行折り返しを回避することができる。
88
89 新しい文は行頭から開始する。 これにより、パッチの内容を確認しやすくなる。 パッチは文単位であることが多いからである。
90 .SS タイトル行
91 man ページの最初の行は \fBTH\fP コマンドにすべきである。
92 .RS
93 .sp
94 \fB\&.TH\fP \fItitle section date source manual\fP
95 .sp
96 .RE
97 個々の説明:
98 .RS
99 .TP  10
100 \fItitle\fP
101 man ページのタイトル。全部大文字で記載する (例: \fIMAN\-PAGES\fP)。
102 .TP 
103 \fIsection\fP
104 man ページが属するセクション番号 (例: \fI7\fP)。
105 .TP 
106 \fIdate\fP
107 最新のリビジョンの日付\(emman ページに変更を加えたときには 必ずこれを変更すること。 これが最も一般的なバージョン管理方法である。 日付は
108 YYYY\-MM\-DD の形式で記載すべきである。
109 .TP 
110 \fIsource\fP
111 コマンド、関数、システムコールの出自。
112
113 数少ないセクション 1 と 8 のページの場合、おそらく単に \fIGNU\fP とだけ書くことが多いだろう。
114
115 システムコールの場合、単に \fILinux\fP とだけ書く。 (以前の慣習では、マニュアルページを記載した/内容を確認したカーネルの
116 バージョン番号を記載していた。しかし、バージョン番号が実際の内容と 一致していることはなく、そのためバージョン番号がないよりも
117 おそらく悪い形になっていた。 今後は、バージョン番号を含めるのは避けること。)
118
119 glibc のライブラリコールや その他の一般的な GNU ライブラリのライブラリコールの場合、 単に \fIGNU C Library\fP, \fIGNU\fP
120 と書くか、空の文字列を使う。
121
122 セクション 4 のページでは \fILinux\fP を使う。
123
124 よくわからない場合は、 \fILinux\fP とか \fIGNU\fP と書いておく。
125 .TP 
126 \fImanual\fP
127 マニュアルのタイトル (例: \fIman\-pages\fP パッケージのセクション 2 および 3 のページの場合には、 \fILinux
128 Programmer's Manual\fP を使うこと)。
129 .RE
130 .SS マニュアルページのセクション
131 昔から使われてきたセクション名を以下のリストに示す。 これらを使うと良いだろう。 一般的に、マニュアルページは、少なくとも \fB色つき\fP
132 のセクションを持つのが望ましい。 新しくマニュアルページを作成する際には、だいたい以下のリストに示した 順序でセクションを配置するようにしてもらいたい。
133 .in +0.5i
134 .nf
135
136 .\" May 07: Few current man pages have an ERROR HANDLING section,,,
137 .\" ERROR HANDLING,
138 .\" May 07: Almost no current man pages have a USAGE section,,,
139 .\" USAGE,
140 .\" DIAGNOSTICS,
141 .\" May 07: Almost no current man pages have a SECURITY section,,,
142 .\" SECURITY,
143 .\" AUTHORS sections are discouraged
144 .\" AUTHORS             [Discouraged]
145 \fB名前\fP
146 \fB書式\fP
147 設定               [通常はセクション 4 のみ]
148 \fB説明\fP
149 オプション         [通常はセクション 1, 8 のみ]
150 終了ステータス     [通常はセクション 1, 8 のみ]
151 返り値             [通常はセクション 2, 3 のみ]
152 エラー             [たいていはセクション 2, 3 のみ]
153 環境変数
154 ファイル
155 バージョン         [通常はセクション 2, 3 のみ]
156 準拠
157 注意/備考
158 バグ
159
160 \fB関連項目\fP
161
162 .fi
163 .in
164 「伝統的に使われてきた見出しが使える場合には、それを使ってほしい。」 この種の一貫性を保つことで、情報を理解しやすくなるからである。
165 どうしても必要な場合には、理解しやすくなるように独自の見出しを 作ってもよい (特にセクション 4 や 5 のページではこうした方が
166 わかりやすくなる)。ただし、そうする前に、伝統的な見出しを使い、 そのセクション内にサブセクション (\fI.SS\fP) を設けることで
167 対応できないか考えてほしい。
168
169 以下のリストでは、上記のセクションのそれぞれの内容について 詳しく説明する。
170 .TP  14
171 \fB名前 (NAME)\fP
172 The name of this manual page.  See \fBman\fP(7)  for important details of the
173 line(s) that should follow the \fB.SH NAME\fP command.  All words in this line
174 (including the word immediately following the "\e\-") should be in lowercase,
175 except where English or technical terminological convention dictates
176 otherwise.
177 .TP 
178 \fB書式 (SYNOPSIS)\fP
179 コマンドや関数のインターフェースを簡潔に記述する。 コマンドに対しては、コマンドや引き数 (オプション) の文法を書く。
180 そのまま書くテキストにはボールド体を用い、置き換える引き数には イタリック体を用いる。省略可能なオプションはブラケット ([]) で囲い、 選択肢は縦棒
181 (|) で区切り、繰り返しには省略符号 (...) を書く。 関数に対しては、必要なデータ宣言や \fB#include\fP 指定を書き、関数宣言を続ける。
182
183 .\" FIXME . Say something here about compiler options
184 ヘッダファイルから関数 (や変数) の定義を得るために 機能検査マクロ (feature test macro) を定義しなければならない場合、 書式
185 (SYNOPSIS) に必要な機能検査マクロを記載すべきである。 機能検査マクロについては \fBfeature_test_macros\fP(7)
186 で説明されている。
187 .TP 
188 \fBCONFIGURATION\fP
189 デバイスの設定詳細。 通常、このセクションは 4 章のマニュアルページでのみ登場する。
190 .TP 
191 \fB説明 (DESCRIPTION)\fP
192 .\" If there is some kind of input grammar or complex set of subcommands,
193 .\" consider describing them in a separate
194 .\" .B USAGE
195 .\" section (and just place an overview in the
196 .\" .B DESCRIPTION
197 .\" section).
198 プログラム・関数・フォーマットの動作・目的を説明する。 ファイルや標準入力をどのように処理し、標準出力や標準エラー出力を
199 どのように生成するかといったことについて述べる。 内部動作や実装の詳細については省略する (ただしそれが動作の理解にどうしても必要なら別)。
200 通常の場合について記述する。 プログラムのコマンドライン・オプションの説明には、 \fBオプション\fP のセクションを用いる。
201 .TP 
202 \fBオプション (OPTIONS)\fP
203 .\" .TP
204 .\" .B USAGE
205 .\" describes the grammar of any sublanguage this implements.
206 プログラムが受け付けるコマンドライン・オプションと、 その場合プログラムの振舞いがどう変わるかを説明する。 このセクションはセクション 1 と 8
207 のマニュアルページにだけ登場すべきである。
208 .TP 
209 \fB終了ステータス (EXIT STATUS)\fP
210 プログラムの終了ステータスの値と、それらの値に対応する状況を列挙する。 このセクションはセクション 1 と 8
211 のマニュアルページにだけ登場すべきである。
212 .TP 
213 \fB返り値 (RETURN VALUE)\fP
214 セクション 2 と 3 のページの場合、このセクションに ライブラリルーチンが呼び出し元に返す値のリストを記載する。
215 それらの値が返された場合の状態に対する説明も書く。
216 .TP 
217 \fBエラー (ERRORS)\fP
218 セクション 2 と 3 のマニュアルページでは、 エラーが発生した場合に \fIerrno\fP に設定される可能性がある値のリストを記載する。
219 リストには、エラーの値とエラーの原因についての情報を書く。 「エラーリストはアルファベット順にすべきである。」
220 .TP 
221 \fB環境変数 (ENVIRONMENT)\fP
222 プログラムや関数に影響する環境変数をリストし、それらの効果を書く。
223 .TP 
224 \fBファイル (FILES)\fP
225 .\" May 07: Almost no current man pages have a DIAGNOSTICS section;
226 .\"         "RETURN VALUE" or "EXIT STATUS" is preferred.
227 .\" .TP
228 .\" .B DIAGNOSTICS
229 .\" gives an overview of the most common error messages and how to
230 .\" cope with them.
231 .\" You don't need to explain system error messages
232 .\" or fatal signals that can appear during execution of any program
233 .\" unless they're special in some way to the program.
234 .\"
235 .\" May 07: Almost no current man pages have a SECURITY section.
236 .\".TP
237 .\".B SECURITY
238 .\"discusses security issues and implications.
239 .\"Warn about configurations or environments that should be avoided,
240 .\"commands that may have security implications, and so on, especially
241 .\"if they aren't obvious.
242 .\"Discussing security in a separate section isn't necessary;
243 .\"if it's easier to understand, place security information in the
244 .\"other sections (such as the
245 .\" .B DESCRIPTION
246 .\" or
247 .\" .B USAGE
248 .\" section).
249 .\" However, please include security information somewhere!
250 プログラムや関数が用いるファイルを列記する。 例えば、設定ファイル、起動ファイル、プログラムが直接操作するファイルなどである。
251 これらのファイルのファイル名はフルパスで記載し、 ディレクトリの部分はユーザーの好みに合わせて インストール処理で変更できるようにする。
252 多くのプログラムではデフォルトのインストール先は \fI/usr/local\fP である。したがってベースとなるマニュアルページでも
253 \fI/usr/local\fP が使われていることが多いだろう。
254 .TP 
255 \fBバージョン (VERSIONS)\fP
256 システムコールやライブラリ関数が登場したり、動作の重要な変更が行われた、 Linux カーネルや glibc のバージョンについての簡潔な概要。
257 一般に、全ての新しいインターフェイスは、マニュアルページに 「バージョン」の節を設けるべきである。
258 残念なことに、多くの既存のマニュアルページにこの情報は含まれていない (これらのページが書かれた時点ではそのようなポリシーはなかったからである)。
259 これを改善するパッチは歓迎されるが、 新しいコードを書くプログラマの観点からすれば、 おそらくこの情報が重要になるのは、 Linux 2.4
260 以降で追加されたカーネルインターフェイス (カーネル 2.2 からの変更) と glibc バージョン 2.1 以降で追加されたライブラリ関数
261 (glibc 2.0 からの変更)  についてのみであろう。
262
263 \fBsyscalls\fP(2)  マニュアルページにも、いろいろなシステムコールが初めて登場した カーネルバージョンについての情報が書かれている。
264 .TP 
265 \fB準拠 (CONFORMING TO)\fP
266 そのマニュアルページで説明している関数やコマンドに関連する 標準規格や慣習について記載する。 セクション 2 や 3 のページでは、このセクションで
267 システムコールや関数が準拠する POSIX.1 のバージョンと、 C99 で規定されているかに触れるべきである。 (SUS, SUSv2, XPG
268 などの他の標準規格や、SVr4 や 4.xBSD の実装標準に ついては、説明しているコールがこれらの規格で規定されており POSIX.1
269 の現行バージョンで規定されていない場合以外は、 あまり深く気にする必要はない。)  (\fBstandards\fP(7)  参照。)
270
271 そのコールがどの標準にも基づいていないが、 他のシステムで広く存在する場合は、その旨を記載すること。 そのコールが Linux
272 固有の場合は、その旨を記載すること。
273
274 (そうなっているページが多いが) このセクションの内容が標準のリスト だけの場合、リストの最後にピリオド (\(aq.\(aq) を置くこと。
275 .TP 
276 \fB注意 (NOTES)\fP
277 その他の注意点を書く。 セクション 2 と 3 のマニュアルページでは、 \fILinux での注意 (Linux Notes)\fP や \fIglibc
278 での注意 (Glibc Notes)\fP という名前のサブセクション (\fBSS\fP) を設けると便利なこともある。
279 .TP 
280 \fBバグ (BUGS)\fP
281 制限・知られている欠陥や不便な点、その他不思議な動作などを書く。
282 .TP 
283 \fB例 (EXAMPLE)\fP
284 この関数・ファイル・コマンドをどのように使うかを示した ひとつまたは複数の例を記述する。 サンプルプログラムを書く際の詳細は
285 以下の「サンプルプログラム」の節を参照のこと。
286 .TP 
287 \fB著者 (AUTHORS)\fP
288 文書またはプログラムの著者を列記する。 \fB著者セクションは極力使用しないこと。\fP 一般的には、著者のリストを各ページに撒き散らさない方がよい
289 (時間がたつと、作者のリストは膨大になる可能性がある)。 マニュアルページを新規に書いたり、大幅に修正を行った場合には、
290 ソースファイルにコメントとして著作権表示を追加すること。 あなたがデバイスドライバの作者で、バグを報告するためのアドレスを
291 載せたい場合は、「バグ」セクションの後ろにこのセクションを配置すること。
292 .TP 
293 \fB関連項目 (SEE ALSO)\fP
294 関連するマニュアルページを、コンマ区切りのリストで、 セクション番号順に、セクション内ではアルファベット順で記載する。 可能なら関連する他の文書も書く。
295 慣習では、このセクションは最後に置く。 リストの末尾にピリオドを置かないこと。
296 .IP
297 Where the SEE ALSO list contains many long manual page names, to improve the
298 visual result of the output, it may be useful to employ the \fI.ad l\fP (don't
299 right justify)  and \fI.nh\fP (don't hyphenate)  directives.  Hyphenation of
300 individual page names can be prevented by preceding words with the string
301 "\e%".
302 .SS フォントの慣習
303 .PP
304 関数に対しては、引き数には常にイタリック体を用いる。 「たとえ書式 (SYNOPSIS) セクションであっても、このルールに従う」
305 関数の他の部分はボールドを指定する:
306 .PP
307 \fB int myfunction(int \fP\fIargc\fP\fB, char **\fP\fIargv\fP\fB);\fP
308 .PP
309 引き数名といった変数名はイタリック体を指定すべきである。
310 .PP
311 ファイル名 (パス名、または \fI/usr/include\fP ディレクトリ内のファイルへの参照) は常にイタリック体にする (例:
312 \fI<stdio.h>\fP)。 ただし、書式 (SYNOPSIS) セクションは例外で、 インクルードファイルはボールドにする (例:
313 \fB#include <stdio.h>\fP)。 \fI/usr/include\fP 以下の標準のインクルードファイルを参照する際は、 通常の
314 C 言語と同様に山括弧でヘッダファイルを囲ぬで指定する (例: \fI<stdio.h>\fP)。
315 .PP
316 通常、大文字で表現する特殊マクロはボールドで表す (例えば \fBMAXINT\fP)。 例外として NULL はボールドにしない。
317 .PP
318 エラーコードのリストを列挙する時には、コードはボールドで表す (このリストには通常 \fB\&.TP\fP マクロを用いる)。
319 .PP
320 完全なコマンドは、長い場合には、例に示すように 字下げした行にコマンドだけを記載すべきである。
321 .in +4n
322 .nf
323
324 man 7 man\-pages
325
326 .fi
327 .in
328 コマンドが短い場合は、 \fIman 7 man\-pages\fP のようにイタリック体で文中に埋め込んで記載してもよい。
329 この場合、コマンド内の適切な位置に、改行できないスペース ("\e\ ")  を使うとよいかもしれない。 コマンドオプションも \fI\-l\fP
330 のようにイタリック体で記載すべきである。
331 .PP
332 式は、専用の字下げした行に記載しない場合、イタリック体を指定すること。 繰り返しになるが、式を通常の文中に埋め込む場合にも、
333 改行できないスペースを使うとよいだろう。
334 .PP
335 そのマニュアルページの説明対象への参照は、ボールドで名前を記載する。 対象が関数 (つまり、セクション 2 や 3 のページ) の場合、
336 名前の後ろにローマンフォント (通常のフォント) で丸括弧の対を続ける。 例えば、 \fBfcntl\fP(2)  のマニュアルページでは、説明対象への参照は
337 \fBfcntl\fP()  のように記載する。 マニュアルページのソースファイルには次のように記載するのが望ましい:
338 .nf
339
340     .BR fcntl ()
341
342 .fi
343 ("\efB...\efP()" よりも、この形式を使うこと。 これにより、マニュアルページのソースファイルを解釈するツールを 書くのが簡単になる。)
344 .PP
345 別のマニュアルページへの参照は、ボールドで名前を記載し、 それに続けてセクション番号を「必ず」書く。セクション番号は ローマンフォント
346 (通常のフォント) で書き、スペースは入れない (例: \fBintro\fP(2))。 マニュアルページのソースファイルには次のように記載するのが望ましい:
347 .nf
348
349     .BR intro (2)
350
351 .fi
352 (相互参照にセクション番号を含めておくと、 \fBman2html\fP といったツールがページ間のハイパーリンクを適切に生成できる。)
353 .SS "綴り (spelling)"
354 リリース 2.59 からだが、 \fIman\-pages\fP はアメリカ英語の綴りの慣習に従っている。 新しいページやパッチは全てこの慣習に従って下さい。
355 .SS Capitalization
356 In subsection ("SS") headings capitalize the first word in heading, but
357 otherwise use lower case, except where English usage (e.g., proper nouns) or
358 programming language requirements (e.g., identifier names) dictate
359 otherwise.
360 .SS サンプルプログラムとシェルのセッション
361 マニュアルページには、システムコールやライブラリ関数の使い方を示す サンプルプログラムを含めることができる。 その際には、以下の点に留意すべきである。
362 .TP  3
363 *
364 サンプルプログラムは C で記載すること。
365 .TP 
366 *
367 サンプルプログラムは、 インタフェースについて文章で簡単に説明できる以上のことを示す場合にだけ
368 必要かつ有用である。インタフェースを呼び出す以外に何もしないサンプル プログラムは普通はほとんど役に立たない。
369 .TP 
370 *
371 サンプルプログラムはかなり短めにすること (100行未満が望ましく、50行未満が理想的である)。
372 .TP 
373 *
374 サンプルプログラムでは、システムコールやライブラリ関数を呼び出した後で エラーチェックを行うこと。
375 .TP 
376 *
377 サンプルプログラムは完結していて、 \fIcc\ \-Wall\fP でコンパイルした際に警告なしでコンパイルできること。
378 .TP 
379 *
380 可能かつ適切な場合には、サンプルプログラムで 入力により動作を変化させるなどの実験を行うとよい
381 (理想的には、コマンドライン引き数や、プログラムが読み込む入力データ 経由で、動作を変化させるのがよい)。
382 .TP 
383 *
384 サンプルプログラムは、K&R (Kernighan and Ritchie) スタイルで書き、 字下げはスペース 4文字で行う。 (ソースコードで
385 TAB 文字を使うのは避けること。)
386 .PP
387 サンプルプログラムがどんな風になっていればよいかの例については、 \fBwait\fP(2)  と \fBpipe\fP(2)  を参照すること。
388
389 プログラムの使い方や他のシステムの特徴を示すためにシェルのセッション例 を含める場合、ユーザの入力文をボールドにして、システムが生成する
390 出力と区別できるようにすること。
391 .SS 構造体の定義、シェルのセッションログなどの字下げ
392 構造体の定義やシェルのセッションログなどを本文中に記載する際は、 スペース 4個分の字下げを行う (つまり、ブロックを \fI.in\ +4n\fP と
393 \&\fI.in\fP で囲む)。
394 .SH 例
395 \fIman\-pages\fP パッケージに含まれるマニュアルページの体裁の標準的な例については、 \fBpipe\fP(2)  と \fBfcntl\fP(2)
396 を参照すること。
397 .SH 関連項目
398 \fBman\fP(1), \fBman2html\fP(1), \fBgroff\fP(7), \fBgroff_man\fP(7), \fBman\fP(7),
399 \fBmdoc\fP(7)
400 .SH この文書について
401 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.50 の一部
402 である。プロジェクトの説明とバグ報告に関する情報は
403 http://www.kernel.org/doc/man\-pages/ に書かれている。