我正在看-f
男人身上的旗帜,描述如下:
-f, --whatis
Equivalent to whatis. Display a short description from the manual page, if available. See whatis(1) for details.
当我实际使用-f
条目时,末尾总是有一个括号,有时您会得到多个条目。
结果示例man -f
:
man -f grep
:
grep (1) - print lines matching a pattern
man -f man
:
man (7) - macros to format man pages
man (1) - an interface to the on-line reference manuals
man -f git
:
Git (3pm) - Perl interface to the Git version control system
git (1) - the stupid content tracker
我猜所有正常的程序描述都以(1)
.
谁能解释一下正在搜索哪些其他列表以及如何识别括号内不同数字的含义?
man Git
注意:我还注意到,对于 git,我可以通过执行而不是man git
.来获取(下午 3 点)手册页。这似乎违反直觉,man git
将包含手册git
但不Git
包含man -f git
两者的返回信息。
答案1
括号中的内容(在某些系统上可能是字母和数字的组合,但大多数情况下只是一个数字)指的是手册中的部分。 “手册”是可用手册的总卷。
在我的 OpenBSD 系统上,手册中引用了这些部分man(1)
(也称为“命令手册man
”,您可以使用 阅读man man
):
1 General commands (tools and utilities).
2 System calls and error numbers.
3 Library functions.
3p perl(1) programmer's reference guide.
4 Device drivers.
5 File formats.
6 Games.
7 Miscellaneous information.
8 System maintenance and operation commands.
9 Kernel internals.
各系统的部分编号大多相同,但可能存在细微偏差。这些部分没有标准化,至少不是 POSIX 标准化的,所以我认为它们大多是传统的。
有时,您必须知道您要查找哪个部分。printf
例如,手册 就是这种情况。printf(1)
指的是printf
shell 的实用程序,而printf(3)
描述的是 C 库例程printf()
。如果您输入man printf
,您可能会得到printf(1)
。要获取 C 库函数的手册,请使用man 3 printf
.
这些部分似乎是在 1971 年贝尔实验室推出的第三版 UNIX(第一个用 C 而不是汇编语言编写的 UNIX)中引入的。
第三版 UNIX 手册包含以下部分:
I. Commands
II. System calls
III. Subroutines
IV. Special files
V. File formats
VI. User-maintained programs
VII. Miscellaneous
VIII. Maintenance
答案2
摘自man man
(5段):
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]
答案3
这些数字表示信息来自手册的哪个部分(最初是指您书架上的手册集中的哪个物理卷)。
从man man
:
The table below shows the section numbers of the manual followed 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 conventions), e.g. man(7),
groff(7)
8 System administration commands (usually only for root)
9 Kernel routines [Non standard]
后来添加了一些额外的“部分”。例如,(3pm)
上面引用的文本中的 指的是 perl 模块(或库)。
答案4
命令后面的数字告诉您该命令的文档位于手册页的哪个部分...例如,grep(1) 表示 grep 的手册页可以在手册页的第 1 部分中找到。
不同风格的 UNIX 和不同发行版的 Linux 对于哪些命令的文档位于哪个部分有不同的约定。