刚刚看到有人man 7 regex
在 Stackoverflow 上引用。我尝试man regex
并得到了非常相似的输出 - 似乎存在细微差别。
那么这个神奇的数字7是什么呢?搜索man 7 unix
在谷歌给我更多的神秘结果像UNIX(7)...
kir*_*iri 33
UNIX(7)
要回答您关于“UNIX(7)”的问题,这是说“第 7 节(杂项)中的 UNIX 手册页”的标准约定。
要打开类似 的页面init(8)
,您可以使用以下命令:man 8 init
。
man regex
对比 man 7 regex
要回答你的之间的“微妙差异”问题man regex
和man 7 regex
:
man
默认情况下打开具有最低部分编号的页面。在这种情况下,它是第 3 节(库调用)。从第 7 节(杂项)打开页面完全不同。
不同部分的页面处理不同的事情,尽管在这种情况下它们是相似的,请考虑apt
:
apt (8) - Advanced Package Tool
apt (1) - annotation processing tool
Run Code Online (Sandbox Code Playgroud)
在此示例中,apt
第 8 节(系统管理命令)中的页面与第 1 节(可执行程序或 shell 命令)中的页面完全无关。
为了将来参考,使用man -f PAGE_NAME
定位所有部分中具有该名称的所有页面。然后您可以从您想要的部分打开一个页面man SECTION PAGE_NAME
。
各个页面部分如下,可以从以下位置找到man man
:
- 可执行程序或 shell 命令
- 系统调用(内核提供的函数)
- 库调用(程序库中的函数)
- 特殊文件(通常在 中找到
/dev
)- 文件格式和约定,例如
/etc/passwd
- 游戏
- 杂项(包括宏包和约定),例如
man(7)
,groff(7)
- 系统管理命令(通常仅适用于 root)
- 内核例程 [非标准]
Mas*_*oor 14
部分编号
man
将显示任何部分的联机帮助页, man 7
将显示来自第 7 部分的联机帮助页。因此,这里的 7 指的是您正在查找其手册页的特定命令的部分。
如果提供了一个部分,将指示人们仅查看手册的该部分。
部分
请参阅下表了解手册的章节编号及其包含的页面类型。
1:可执行程序或shell命令
2:系统调用(内核提供的功能)
3:库调用(程序库中的函数)
4:特殊文件(通常在/dev中找到)
5:文件格式和约定,例如 /etc/passwd
6:游戏
7:杂项(包括宏包和约定),例如 man(7), groff(7)
8:系统管理命令(通常只针对root)。各种主题、约定和协议、字符集标准和其他杂项的概述。
9:内核例程[非标准]
多于一节的命令
在大多数情况下,您将希望使用该man
命令而无需额外的n。但是,在某些情况下,一个命令会出现在多个部分中。例如,如果您发出 command man open
,您会从第 1 节中获得 openvt 的手册页。但是如果您需要查看 open as a C(或系统调用,如上表)命令的手册页,则需要发出man 2 open
.
一个非常相似的例子是man printf
和man 3 printf
。请发出命令并亲自查看输出的差异。
您的man 7 unix
(UNIX(7)) 问题
所以,UNIX(7) 意味着它属于第 7 节。
如果我不提供部分编号,将默认显示哪个部分?
默认操作是按照预定义的顺序搜索所有可用部分,并仅显示找到的第一页,即使页面存在于多个部分中。
如何知道命令的节号?
您是否需要找出术语/命令man -k
所属的部分(相当于 apropos 命令)。因此, man -k printf
将搜索关键字 printf 作为正则表达式的简短描述和手册页名称。打印出任何匹配项。(相当于apropos -r printf
)。发出命令,看看你得到的吨数。如果需要避免子串匹配,(例如,如果你运行它会显示 sprintf man -k printf
),所以你需要使用^term
来限制它,如下所示,
man -k '^printf'
Printf (3o) - Formatted output functions.
printf (1) - format and print data
printf (3) - formatted output conversion
Run Code Online (Sandbox Code Playgroud)
相关命令
一个相关的命令apropos
如上所示,它搜索手册页名称和描述。如果您不确定要查找的手册页但有一个大致的想法,请使用此命令。