当前位置: 首页>>技术问答>>正文


`man`和`man(#)`有什么区别?

,

问题描述

刚看到有人在Stackoverflow上引用了man 7 regex。我尝试了man regex并获得了非常相似的输出 – 似乎有轻微的差异。

那么神奇的7号是什么?在Google上搜索man 7 unix给了我更多神秘的结果,比如UNIX(7)……

最佳解决方案

关于UNIX(7)

要回答您的”UNIX(7)”问题,这是标题为“第7节(杂项)中的UNIX手册页”的标准惯例。

要打开像init(8)这样的页面,您可以使用以下命令:man 8 init


man regexman 7 regex

回答您关于man regexman 7 regex之间的’subtle differences’的问题:

默认情况下,man会打开具有最低节号的页面。在这种情况下,它是第3节( Library 电话)。从第7节(杂项)打开页面是完全不同的。

不同部分的页面可以解决不同的问题,但在这种情况下它们是相似的,请考虑apt

man -f apt

apt (8)              - Advanced Package Tool
apt (1)              - annotation processing tool

在此示例中,第8节(系统管理命令)中的apt与第1节(可执行程序或shell命令)中的页面完全无关。

为了将来参考,请使用man -f PAGE_NAME在所有部分中找到具有该名称的所有页面。然后,您可以使用man SECTION PAGE_NAME打开所需部分的页面。

手册页部分

各个页面部分如下,可以从man man找到:

  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 conventions), e.g. man(7), groff(7)
  8. System administration commands (usually only for root)
  9. Kernel routines [Non standard]

次佳解决方案

部分编号

man将显示任何部分的联机帮助页,man 7将显示第7部分的联机帮助页。因此,此处7指的是您正在查找手册页的特定命令的部分。

如果提供了一个部分,将指示人员仅查看本手册的该部分。


部分

请参阅下表,了解手册的部分编号,以及它们包含的页面类型。

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 conventions), e.g. man(7), groff(7)

8: System administration commands (usually only for root). Overviews of various topics, conventions and protocols, character set standards, and miscellaneous other things.

9: Kernel routines [Non standard]


多个部分中的命令

在大多数情况下,您将需要使用man命令而无需额外的n。但是,在某些情况下,命令将出现在多个部分中。例如,如果您发出命令man open,则从第1部分获取openvt的手册页。但是,如果您需要查看打开的手册页作为C(或系统调用,根据上表)命令,则需要问题man 2 open

一个非常相似的例子是man printfman 3 printf。请发出命令并亲自查看输出的差异。


您的问题man 7 unix(UNIX(7))

因此,UNIX(7)意味着它属于第7节。


如果我没有提供章节号,默认会显示哪个部分?

默认操作是按照pre-defined顺序搜索所有可用部分,并仅显示找到的第一页,即使页面存在于多个部分中。


我如何知道命令的节号?

您是否需要使用man -k(相当于apropos命令)找出术语/命令属于哪些部分。因此,man -k printf将搜索关键字printf的简短描述和手册页名称作为正则表达式。打印出任何比赛。 (相当于apropos -r printf)。发出命令,看到你得到的吨。如果需要避免子串匹配,(例如,如果你运行man -k printf它将显示sprintf),所以你需要使用^term来限制它,如下所示,

man -k '^printf'
Printf (3o)          - Formatted output functions.
printf (1)           - format and print data
printf (3)           - formatted output conversion

相关命令

如上所示,相关命令是apropos,其搜索手册页名称和描述。如果您不确定要查找哪个手册页但有一般概念,请使用此命令。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/3023.html,未经允许,请勿转载。