man 7 regex
刚刚在 Stackoverflow 上看到有人引用。我尝试了一下man regex
,得到了非常相似的输出 - 似乎有细微的差别。
那么这个神奇的数字 7 是什么?man 7 unix
在 Google 上搜索会得到更多神秘的结果,例如 UNIX(7)...
答案1
关于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
在此示例中,apt
第 8 节(系统管理命令)与第 1 节(可执行程序或 shell 命令)中的页面完全不相关。
供将来参考,使用man -f PAGE_NAME
查找所有部分中具有该名称的所有页面。然后,您可以使用 打开所需部分中的页面man SECTION PAGE_NAME
。
手册页部分
各个页面部分如下,可以从以下位置找到man man
:
- 可执行程序或 shell 命令
- 系统调用(内核提供的函数)
- 库调用(程序库内的函数)
- 特殊文件(通常位于
/dev
)- 文件格式和约定,例如
/etc/passwd
- 游戏
- 杂项(包括宏包和约定),例如
man(7)
,groff(7)
- 系统管理命令(通常仅适用于 root)
- 内核例程[非标准]
答案2
章节编号
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。但是,在某些情况下,一个命令会出现在多个部分中。例如,如果您发出命令man open
,您将从第 1 部分获取 openvt 的手册页。但如果您需要查看 open 作为 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
相关命令
相关命令apropos
如上所示,搜索手册页名称和说明。如果你不确定要查找哪个手册页,但有一个大概的想法,请使用此命令。