手册页中 Unix 命令名称后括号中的数字是啥意思?

Posted

技术标签:

【中文标题】手册页中 Unix 命令名称后括号中的数字是啥意思?【英文标题】:What does the number in parentheses shown after Unix command names in manpages mean?手册页中 Unix 命令名称后括号中的数字是什么意思? 【发布时间】:2010-09-08 22:36:21 【问题描述】:

例如:man(1)find(3)updatedb(2)

括号中的数字(英国“方括号”)是什么意思?

【问题讨论】:

手册页会给出一些介绍,使用 (man 1 intro) (man 2 intro) 在Super User 和Unix and Linux 中交叉复制。 【参考方案1】:

这是该命令的手册页分配给的部分。

这些被拆分为

    一般命令 系统调用 C 库函数 特殊文件(通常是设备,位于 /dev 中的那些)和驱动程序 文件格式和约定 游戏和屏保 杂项 系统管理命令和守护进程

每个部分的原始描述可以在Unix Programmer's Manual(第二页)中看到。

为了访问以“foo(5)”给出的手册页,运行:

man 5 foo

【讨论】:

【参考方案2】:

该命令记录在手册中的部分。章节列表记录在手册中。例如:

man 1 man
man 3 find

当不同部分存在相似或完全相同的命令时,这很有用

【讨论】:

在“过去”中,章节编号对应于手册页的硬拷贝版本所在的活页夹。【参考方案3】:

部分数量如此重要的原因是,许多年前,当磁盘空间问题比现在更严重时,部分可以单独安装。

例如,许多系统只安装了 1 和 8。现在人们倾向于在 google 上查找命令。

【讨论】:

【参考方案4】:

作为@Ian G says,它们是手册页部分。让我们更进一步:

1。请参阅带有man manman 命令的手册页,它显示了9 个部分,如下所示:

DESCRIPTION
       man  is  the system's manual pager. Each page argument given
       to man is normally the name of a program, utility  or  func‐
       tion.   The  manual page associated with each of these argu‐
       ments is then found and displayed. A section,  if  provided,
       will  direct man to look only in that section of the manual.
       The default action is to search in all of the available sec‐
       tions following a pre-defined order ("1 n l 8 3 2 3posix 3pm
       3perl 5 4 9 6 7" by default, unless overridden by  the  SEC‐
       TION directive in /etc/manpath.config), and to show only the
       first page found, even if page exists in several sections.

       The table below shows the section numbers of the manual fol‐
       lowed 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]

       A manual page consists of several sections.


2。 man <section_num> <cmd>

假设您正在谷歌搜索 Linux 命令。你可以在网上找到OPEN(2) pg:open(2) — Linux manual page。

要在您电脑的手册页中查看此内容,只需输入man 2 open

对于FOPEN(3),使用man 3 fopen

3。 man <section_num> intro

要阅读某个部分的介绍页面,请输入man <section_num> intro,例如man 1 introman 2 introman 7 intro等。

要连续查看所有手册页介绍,一个接一个,执行man -a intro。第 1 部分的介绍页面将打开。按 q 退出,然后按 Enter 查看第 8 节的介绍。按 q 退出,然后按 Enter kbd> 查看第 3 节的介绍。继续此过程直到完成。每次点击 q 后,它都会带您回到主终端屏幕,但您仍会处于交互式提示中,您会看到以下行:

--Man-- next: intro(8) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]

请注意,man -a intro 将带您完成的部分顺序是:

    第 1 节 第 8 节 第 3 节 第 2 节 第 5 节 第 4 节 第 6 节 第 7 节

这个搜索顺序是有意的,正如man man 页面所解释的那样:

The default action is to search in all of the available sections follow‐
ing a pre-defined order ("1 n l 8 3 2 3posix 3pm 3perl 5 4 9 6 7" by default, unless overrid‐
den  by the SECTION directive in /etc/manpath.config)

他们为什么选择这个订单?我不知道(如果你知道,请在 cmets 中回答),但请意识到这个顺序是正确且有意的。

相关:

    Google search for "linux what does the number mean in parenthesis after a function?" SuperUser: What do the parentheses and number after a Unix command or C function mean? Unix & Linux: What do the numbers in a man page mean?

【讨论】:

非常有用的信息,不知道为什么投反对票,但你有我的 +1。 优秀的补充——当之无愧的+1【参考方案5】:

另请注意,在其他 unix 上,指定节的方法不同。例如,在 solaris 上是:

man -s 1 man

【讨论】:

【参考方案6】:

它表示该命令所在的手册页部分。man 命令上的 -s 开关可用于将搜索限制在某些部分。

当您查看手册页时,左上角会给出部分的名称,例如:

用户命令 printf(1) 标准 C 库函数 printf(3C)

因此,如果您尝试查找 C 函数并且不想意外看到共享相同名称的用户命令的页面,您可以执行 'man -s 3C ...'

【讨论】:

【参考方案7】:

Wikipedia 手册章节详情:

    一般命令 系统调用 库函数,尤其是 C 标准库 特殊文件(通常是设备,位于 /dev 中的那些)和驱动程序 文件格式和约定 游戏和屏保 杂项 系统管理命令和守护进程

【讨论】:

这个答案已经没用了;先前接受的答案中也不存在的链接已损坏并被编辑掉,现在这个答案根本没有添加任何内容。

以上是关于手册页中 Unix 命令名称后括号中的数字是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

SQL中的列名上加中括号是啥意思

unix ps 命令中的 TTY 是啥意思?

Git文档中的括号中的数字

请问以下JS代码中的括号是啥意思?

Javascript中的绑定是啥意思?

SQL中identity后括号中的值是啥意思?