Provided by: manpages-zh_1.5.1-2_all bug

NAME

       man - 格式化手册页的宏

 SYNOPSIS
       groff -Tascii -man file ...

       groff -Tps -man file ...

       man [section] title

 DESCRIPTION
       此手册页解释了    groff    tmac.man    宏包    (通常叫做    man   宏包)
       以及相关的创建手册页的惯例。      开发者可以使用这个宏包来为      linux
       书写或移植手册文档。
       它与其他版本的这个宏包一般是兼容的,因此移植不是一个大问题 (但是  NET-2
       BSD 发布中使用了一个完全不同的宏包叫做 mdoc,参见 mdoc(7)).

       注意   NET-2  BSD  mdoc  手册页也可以使用  groff  处理,只要指定  -mdoc
       选项而不是            -man            选项。推荐使用            -mandoc
       选项,因为这样会自动判断应当使用哪一个。

 PREAMBLE
       一篇手册页的第一个命令 (注释行之后) 应当是

              .TH title section date source manual,

       这里:

              title     手册页的标题 (例如, MAN).

              section   手册页的章节号应当放在这里 (例如, 7).

              date      最后修改日期 -- 记住要在每次修改过此手册页之后修改它,
                        这样可以方便地进行版本控制

              source    命令的来源

                        对于二进制文件,使用这样的表述:   GNU,   NET-2,   SLS
                        Distribution, MCC Distribution.

                        对于系统调用,使用它适用的内核版本来表述:       Linux
                        0.99.11.

                        对于库调用,使用函数的来源来表述: GNU, BSD 4.3, Linux
                        DLL 4.4.1.

              manual    手册的标题 (例如: Linux Programmer's Manual).

       注意 BSD mdoc 格式的手册页以 Dd 命令开始,而不是 TH 命令

       手册章节传统上如下定义:

              1 Commands
                        用户可从 shell 运行的命令

              2 System calls
                        必须由内核完成的功能

              3 Library calls
                        大多数 libc 函数,例如 qsort(3))

              4 Special files
                        /dev) 目录中的文件

              5 File formats and conventions
                        /etc/passwd 等人类可读的文件的格式说明

              6 Games

              7 Macro packages and conventions
                        文件系统标准描述,网络幸椋珹SCII
                        和其他字符集,还有你眼前这份文档以及其他东西

              8 System management commands
                        类似 mount(8) 等命令,大部分只能由 root 执行

              9 Kernel routines
                        这是废弃的章节。 岳丛氚岩恍┕赜诤诵牡奈募放在这里,
                        但是实际上只有极少数可以写成文件放在这里,而且它们也很快过时了。
                        核心开发者可以找到其他更好的资源。

 SECTIONS
       段以       .SH       开始,后跟标题名。如果标题包含空格并且和       .SH
       在同一行,则需在标题上加双引号。  传统的或建议的标题包括:  NAME,  总览
       SYNOPSIS, 描述 DESCRIPTION, 返回值 RETURN VALUE, 退出状态 EXIT  STATUS,
       错误处理  ERROR  HANDLING,  错误 ERRORS, 选项 OPTIONS, 用法 USAGE, 示例
       EXAMPLES,  文件  FILES,  环境  ENVIRONMENT,  诊断   DIAGNOSTICS,   安全
       SECURITY, 遵 CONFORMING TO, 注意 NOTES, BUGS, 作者 AUTHOR, 和 参见 SEE
       ALSO.                              在适合使用约定标题的地方,请使用它;
       这样做可以使文章更易读、易懂。
       不过,只要您的标题能够增加易懂性,请放心使用。  唯一必须的标题是  NAME,
       他应是手册页的第一段,后面应紧跟对该命令的简单描述。比如:

              .SH NAME
              chess \- the game of chess

       请一定要按照这个格式来写,注意在短横线  (dash  `-') 前要有个斜杠 (slash
       `').   这种语法结构在  makewhatis(8)  程序为  whatis(1)  和  apropos(1)
       命令建立简短命令描述时要用到。

       其他约定段的内容应为:

       SYNOPSIS 简要描述命令或函数接口。
                     对命令,显示他的命令和参数(包括各种选项);黑体表示各种参数,
                     下划线(或斜体字)表示可以替换的选项;
                     方括号[]中的是可选项,竖线    |    用于把几个选项间隔开,
                     小括号()中的部分可以自动重复。
                     对函数,显示需要的数据声明或需                   #include
                     包含的项目,后跟函数声明。

       DESCRIPTION
                     解释命令、函数或格式的用途。
                     说明其如何与文件及标准输入交互,他们的标准输出及标准错误。
                     必须要指明的细节。描述一般情况。       选项和参数信息放在
                     OPTIONS(选项)段。      如果有语法说明和一些复杂的设定,
                     建议把它们放到
                     USAGE(用法)段(本段中最好只写一个概要)。

       RETURN VALUE
                     列出程序或函数会返回的值,指出引发返回值的条件或砸颉

       EXIT STATUS
                     列出可能的退出状态的值,指出引起返回的程序或砸颉

       OPTIONS  指出程序可用的选项,及其作用。

       USAGE    描述程序的较高级的使用方法。

       EXAMPLES provides  one  or  more  examples  describing  how   this
                     function, file or command is used.

       FILES    列出程序或函数使用到的文件,
                     比如配置文件、启动文件和程序直接操作的文件。
                     给出文件的绝对路径,
                     使用安装程序调整这些路径以使其与用户的实际情况相符。
                     对大多数程序来说,缺省的安装路径是           /usr/local,
                     所以你的文件要与此一致。

       ENVIRONMENT
                     列出影响你的程序的所有环境变量,并说明影响的砸颉

       DIAGNOSTICS
                     写出常会出现的错误概述,并说明解决的办法。
                     你无需解释系统错误信息或信号, 除非它们会影响到您的程序。

       SECURITY 讨论安全问题和相关话题。对应予避免的配置和环境,
                     可能有安全隐患的命令等等给出警告,
                     特别是当它们不是很明显时。
                     单独用一段来讨论安全并不必要;如果比较好理解的话,把它放在其他段中
                     (比如 描述 或 用法 段)。但是,最好加上它。

       CONFORMING TO
                     描述它实现的任何标准或约定

       NOTES    提供杂项注意事项

       BUGS          列出局限、已知的缺点或不便之处,还有其他可能存在的问题。

       AUTHOR   列出程序或文件作者,联系办法等。

       SEE ALSO 以字母顺序列出相关的手册页(man
                     pages)。通常来讲,这是一个手册页的最后一段。

 FONTS
       虽然在  UNIX  世界中有各种对手册页(man  pages)的不同约定,  但在 linux
       系统下存在一个字体的标准:

              对函数,其参数通常用下划线(或斜体),
              SYNOPSIS) ,其他部分用黑体。 例如
              int myfunction(int argc, char **argv);

              文件名用下划线(或斜体),例如,.IR   "/usr/include/stdio.h"  ),
              但在总览(SYNOPSIS)中,包含的文件用黑体,例如           #include
              <stdio.h>).

              专用宏,一般大写表示,用黑体(如: MAXINT).

              列举错误代号时,代号用黑体(这种列举通常使用 .TP 宏命令)。

              对其他手册页的引用(或本页中某主体的引用)用黑体。
              手册章节号用普通体(如: man(7)).  设置字体的宏命令如下:

       .B  黑体

       .BI 黑体和下划线(或斜体)交替(描述函数时非常有用)

       .BR 黑体和普通体交替(描述引用时非常有用)

       .I  下划线(或斜体)

       .IB 下划线(或斜体)和黑体交替

       .IR 普通体和下划线(或斜体)交替

       .RB 普通体和下划线(或斜体)交替

       .RI 小号字和黑体交替

       .SB 小号字和黑体交替

       .SM 小号字(用于缩写)

       按照惯例,每个命令最多可以有六个小节的参数,          但是          GNU
       去除了这个限制。小节之间以空格隔开。
       如果某小节含有空格,则需要给其加上双引号。   各小节在显示时无间隔,所以
       .BR                                          命令可以指定一个黑体的词,
       后跟一个普通体的标点。如果命令后无参数,则命令作用于下一行。

 OTHER MACROS AND STRINGS
       下面是其他一些相关的宏和预定义的字符串。
       除非指明,否则所有的宏在本行文本结束时终止。
       多数宏使用“流行缩进”(prevailing                        indent)方式。
       “流行缩进”的值由紧跟着宏命令的                                      i
       值指定,如果不指定,那就会使用当前的“流行缩进”值。
       这样,连续的缩进段就可使用相同的缩进值而不需要重新指定。
       普通段(不缩进)将“流行缩进”值重值为缺省值(0.5              英寸)。
       缺省时,缩进是有规则的  en(s):用  en(s)  或者  em(s)  作为缩进的单位,
       因为它们会自动地调整字体的大小。
       (注:度量距离有不同的单位,当请求需要用到不同的距离时,可以使用默认
       类型来修饰数字,度量单位是英寸,厘米,pica,en,em,点,unit和垂直行距。
       1pica等于1/6英寸,1em等于字母m的宽度,默认宽度取决于troff中使用
       的字体。En是em的一半。) 其他宏命令定义如下:

   Normal Paragraphs
       .LP.PP 相同(开始一个新段)

       .P.PP 相同(开始一个新段)

       .PP      开始一个新段,重置“流行缩进”值。

   Relative Margin Indent
       .RS i    开始相对缩进 -- 把左边界右移 i
                 (如果不指定       i       值,则使用“流行缩进”值       )。
                同时设定“流行缩进”值为     0.5     英寸。    直到使用    .RE
                结束这些设定。

       .RE      结束相对缩进同时把“流行缩进”恢复灾怠

   Indented Paragraph Macros
       .HP i    开始悬挂式缩进(段的第一行从左边揭开时,其余缩进显示)

       .IP x i  在段上标签 x 。如果不指定 x ,则整个段缩进  i  。如果指定了  x
                ,则   x  之前的段不缩进,之后的段缩进(有些象  .TP  ,不过  x
                是跟在命令后面而不是在下一行)。            如果             x
                太长,后面的文本会挪到下一行(文本不会丢 失或割断)。

       做公告列表,可以用     \(bu     (bullet)    或    \(em    (em    dash).
       要用数字或字母列表,   可以用.IP   1.   或   .IP    A.    这样转换成其他
       格式就简单了。

       .TP i  在段上悬挂标签。标签在下一行指定,但是结果和 .IP 相像。

   Hypertext Link Macros
       .UR u    建立一个超文本链接到  URI (URL) u; 并以 UE 结束。当转换为 HTML
                格式时,他会转换为 <A HREF="u">.  有个例外:如果 u  是特殊字符
                “         :”,则之后不能建立任何超级链接,直到以         UE
                结束(这用来在不需要超级链接时禁止他)。 : LALR(1)

       这个宏比较新,很多程序可能并不对他进行处理。但是由于很多工具      (包括
       troff)        简单地忽略未定义宏        (或者最坏的将它们插入到文本中),
       插入它们是安全的

       .UE    结束相应的 UR 超级链接。转换为HTML后是 </A>.

       .UN u  给超级联接指定名称为 u; 不需要以 UE UE 结束。转换为 HTML  后为:
              <A NAME="u" id="u">&nbsp;</A> (the &nbsp; is optional if support
              for Mosaic is unneeded).

   Miscellaneous Macros
       .DT      重置 tab 值为缺省(每一个0.5英寸)。不引起中断。

       .IX ...  插入索引信息(方便搜索系统工作,或打印索引列表)。
                在页中索引信息不能正常显示。                如果只有一个参数,
                参数作为独立的索引项指向手册页的内容。
                如果有两个参数,他可能是           Perl           手册页格式;
                第一个参数指定类型名 (命令名,标题 ,题头,子段货源素之一),
                第二个参数指明自己的索引名。
                另外,长索引形式:每个参数是一个索引项,
                次级索引项,再次级索引项,等等直到以空参数结束,
                然后是程序名参数,\m,还有一小段描述。
                还可能在跟上一个空参数,有可能是页控制信息     (如:     PAGE
                START)。举例如下:   "programmingtools""make""""make--   build
                programs".

       .PD d    在段中间垂直距离空开          d          (如果不指定,则缺省为
                d=0.4v),不引起中断。

       .SS t    子标题 t 象是 .SH, 但是作为段中的字标题使用)

   Predefined Strings
       man 预定义了下列字符串

       \*R    注册符号: (R)

       \*S    改变成缺省字体大小

       \*(Tm  商标符号: tm

       \*(lq  左双引号: "

       \*(rq  右双引号: "

 SAFE SUBSET
       理论上 man 是一个 troff 宏命令包,实际上很多工具程序没有支持所有的  man
       宏命令。          因此,为了这些程序可以正常工作最好忽略          troff
       的一些比较另类的宏。      避免使用各种不同的      troff      预处理程序
       (如果必须的话,用   tbl(1)  吧,  但是在建立双列表时请使用  IPTP
       命令)。避免使用计算;大多数其他程序不能处理他。
       使用简单的命令比较容易转换为其他格式。
       下面的宏命令一般认为是安全的(虽然多数时候他们都被忽略了): \", ., ad,
       bp, br, ce, de, ds, el, ie, if, fi, ft, hy, ig, in, na, ne, nf, nh, ps,
       so, sp, ti, tr.

       你还可能使用     troff     转义字符(这些转移符号以     \      开始)。
       但你要在文本中显示反斜线时,用\e。  其他转义字符包括:  \', \`, \-, \.,
       \", \%, \*x, \*(xx, \(xx, \$N, \nx, \n(xx, \fx, 和 \f(xx.   其中  x、xx
       是任意字符,N 是任意数字不要使用转义字符来煌肌

       不要随意使用     bp    (break    page(中断页))。    sp    (vertical
       space(垂直距离)只应使用正值。               不要用                (de)
       (define(定义)定义与现有的宏同名的宏(无论     man     或     mdoc);
       这种重新定义可能会被忽略。 每个正缩进 (in) 应对应一个负缩进(即使在使用
       RS 和 RE 是也不例外)。 The condition test (if,ie) should only have 't'
       or   'n'   as   the   condition.    可以使用的只有可忽略的转换    (tr).
       改变字体命令 (ft\f  转义序列) 只能带如下参数: 1, 2, 3, 4, R, I, B,
       P, or CW (ft 命令也可以不带参数)。

       如果你是用更多的功能,用各种程序仔细察看一下结果。
       如果你肯定某功能是安全的,请告诉我们,以便把他增加到这个列表中。

 NOTES
       尽量在文本中包含完整的  URL(或URIs);  一些工具软件(如: man2html(1)
       )能够自动把它们转换为超级链接。 您也可用  UR  命令指定链接到相关信息。
       输入完整的 URL(如:<http://www.kernel-notes.org> )。

       Tools processing these files should open the file and examine the first
       non-whitespace   character.    以(.)或(')开始一行,表明是基于    troff
       的文件(如:  man  或 mdoc)。 如果是(<)表明基于 SGML/XML (如:HTML 或
       Docbook). 其他可能是纯文本。(例如 "catman" 的结果)

       有些 man 以'\"和空格再加字符列开始,表示他的预处理方法。 为了 troff  -
       译器程序处理起来简单一些, 您仅应使用 tbl(1), 而不是其他什么东东,Linux
       可以检测到这一点。
       不过,你或许想要包含这些信息以使其可以在其他系统得到处理。
       下面是预处理调用的定义:

       e  eqn(1)

       g  grap(1)

       p  pic(1)

       r  refer(1)

       t  tbl(1)

       v  vgrind(1)

 FILES
       /usr/share/groff/[*/]tmac/tmac.an
       /usr/man/whatis

BUGS

       大多数宏命令描述的是格式(比如:字体和空格)而不是内容描述(比如:
       这段文字指向另外一页),    与    mdoc    和   DocBook   正好相反(HTML
       也有比较多的内容描述)。                   这使得                   man
       难以转换为其他形式,不容易与其他文件组合或自动插入交叉引用。
       遵照以上的安全说明,就比较容易在将来把他转换为其他格式。

       The Sun macro TX 下不能用。

 AUTHOR S
       -- James Clark (jjc@jclark.com) wrote the implementation of  the  macro
          package.

       -- Rickard  E.  Faith  (faith@cs.unc.edu)  wrote the initial version of
          this manual page.

       -- Jens Schweikhardt (schweikh@noc.fdn.de)  wrote  the  Linux  Man-Page
          Mini-HOWTO (which influenced this manual page).

       -- David  A.  Wheeler  (dwheeler@ida.org)  heavily modified this manual
          page, such as adding detailed information on sections and macros.

 SEE ALSO
       apropos(1), groff(1), man(1),  man2html(1),  mdoc(7),  mdoc.samples(7),
       whatis(1)

[RedCandle <redcandle51@chinaren.com>

[2003.11.25

linuxan:
       http://cmpp.linuxforum.net