it-swarm.cn

手册页中的数字是什么意思?

因此,例如,当我键入_man ls_时,我会看到LS(1)。但是,如果我输入_man apachectl_,我会看到APACHECTL(8);如果我输入_man cd_,我会得到cd(n)

我想知道括号中数字的含义是什么(如果有的话)。

514
Wilduck

该数字与该页面的手册的哪个部分相对应。 1是用户命令,而8是sysadmin。 man本身的手册页(man man)对此进行了解释并列出了标准的手册页:

MANUAL SECTIONS
    The standard sections of the manual include:

    1      User Commands
    2      System Calls
    3      C Library Functions
    4      Devices and Special Files
    5      File Formats and Conventions
    6      Games et. al.
    7      Miscellanea
    8      System Administration tools and Daemons

    Distributions customize the manual section to their specifics,
    which often include additional sections.

某些术语在不同的部分中具有不同的页面(例如,printf作为命令出现在第1部分中,而stdlib函数出现在第3部分中);在这种情况下,您可以在页名之前将节号传递到man以选择所需的页面,或使用man -a在一行中显示每个匹配的页:

$ man 1 printf
$ man 3 printf
$ man -a printf

您可以使用man -k(相当于apropos命令)来判断一个术语属于哪些部分。它将也进行子字符串匹配(例如,如果您运行man -k printf,它将显示sprintf),因此您需要使用^term来限制它:

$ man -k '^printf'
printf               (1)  - format and print data
printf               (1p)  - write formatted output
printf               (3)  - formatted output conversion
printf               (3p)  - print formatted output
printf [builtins]    (1)  - bash built-in commands, see bash(1)
524
Michael Mrozek

这些段号的历史可以追溯到Thompson和Ritchie于1971年提出的最初的 (Unix程序员手册 )。

原始部分是

  1. 指令
  2. 系统调用
  3. 子程序
  4. 特殊文件
  5. 档案格式
  6. 用户维护的程序
59
KeithB

konqueror还描述了非标准部分:(感谢@ greg0ire的想法)

0     Header files
0p    Header files (POSIX)
1     Executable programs or Shell commands
1p    Executable programs or Shell commands (POSIX)
2     System calls (functions provided by the kernel)
3     Library calls (functions within program libraries)
3n    Network Functions
3p    Perl Modules
4     Special files (usually found in /dev)
5     File formats and conventions eg /etc/passwd
6     Games
7     Miscellaneous  (including  macro  packages and conventions), e.g. man(7), groff(7)
8     System administration commands (usually only for root)
9     Kernel routines
l     Local documentation
n     New manpages
34
Babken Vardanyan

它的含义已经描述过,但是我还想补充一点,每个部分都有一个特殊的手册页,并带有介绍:intro。例如,请参见man 1 intro 要么 man 3 intro 等等。

21
php-coder

man联机帮助页中:

The table below shows the section numbers of the manual followed by the 
types of pages they contain.

   1   Executable programs or Shell commands
   2   System calls (functions provided by the kernel)
   3   Library calls (functions within program libraries)
   4   Special files (usually found in /dev)
   5   File formats and conventions eg /etc/passwd
   6   Games
   7   Miscellaneous  (including  macro  packages and conven‐
       tions), e.g. man(7), groff(7)
   8   System administration commands (usually only for root)
   9   Kernel routines [Non standard]

至于为什么他们如此分开-有一些重叠之处。根据您的意思,某些手册页会存在多个部分中。

例如,比较man crontabman 5 crontab-后者是您要查找的对象。

16
Shadur

这些是节号。只需输入man man或打开konqueror,然后键入man:// man,您将看到这些部分。

8
greg0ire

通常,通过在手册页后缀后加上括号的部分来引用手册页,例如:

_read(2)
_

这种样式有两个主要优点:

  • 很明显,您引用了手册页-也就是说,您可以编写类似“ cf. read(3)”而不是“ cf.阅读的第3节手册页
  • 如果多个节包含具有相同名称的手册页,则指定该节更为精确

手册页按部分进行组织,例如第1节包含所有用户命令手册页,第2节包含系统调用的所有手册页,第3节包含库函数等。

在命令行上,如果未显式指定节,则将以默认节遍历顺序获得第一个匹配的手册页,例如:

_$ man read
_

在Fedora上显示BASH_BUILTINS(1)。哪里

_$ man 2 read
_

显示read()系统调用的手册页。

请注意,该部分的位置规范不是可移植的-例如在Solaris上,您可以这样指定:

_$ man -s 2 read
_

通常,_man man_还会列出一些可用的部分。但不一定全部。为了列出所有可用部分,可以列出默认手动路径或环境变量_$MANPATH_中列出的所有目录的子目录。例如,在安装了某些开发包的Fedora 23系统上,_/usr/share/man_具有以下子目录:

_cs  es  id  man0p  man2   man3x  man5x  man7x  man9x  pt_BR  sk  zh_CN
da  fr  it  man1   man2x  man4   man6   man8   mann   pt_PT  sv  zh_TW
de  hr  ja  man1p  man3   man4x  man6x  man8x  pl     ro     tr
en  hu  ko  man1x  man3p  man5   man7   man9   pt     ru     zh
_

带有man前缀的目录代表每个部分-其他目录包含已翻译的部分。因此,要获取非空节的列表,可以发出如下命令:

_$ find /usr/share/man -type f  | sed '[email protected]^.*/man\(..*\)/.*[email protected]\[email protected]' \
    | sort -u | column
0p  1p  3   4   6   8
1   2   3p  5   7
_

(以p结尾的部分是POSIX手册页)

要以另一种语言(如果有)查看手册页,可以设置与语言相关的环境变量,例如:

_$ LC_MESSAGES=de_DE man read
_

另外,每个部分都应该有一个名为intro的简介手册页,例如可通过以下方式查看:

_$ man 2 intro
_
7
maxschlepzig

SVr4的定义是:

1 User Commands
2 System Calls
3 library Functions
4 File Formats
5 Standards, Environment and Macros (e.g. man(5))
6 Games and Demos
7 Device and Network Interfaces, Special Files
8 Maintenance Procedures
9 Kernel and Driver entry points and structures

这些是“通用” UNIX的实际编号。 POSIX没有定义数字。

4
schily