问题描述
刚看到有人在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 regex
与man 7 regex
回答您关于man regex
和man 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
找到:
- Executable programs or shell commands
- System calls (functions provided by the kernel)
- Library calls (functions within program libraries)
- Special files (usually found in
/dev
)- File formats and conventions eg
/etc/passwd
- Games
- Miscellaneous (including macro packages and conventions), e.g.
man(7)
,groff(7)
- System administration commands (usually only for root)
- 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 printf
和man 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
,其搜索手册页名称和描述。如果您不确定要查找哪个手册页但有一般概念,请使用此命令。