在 Linux(或使用该工具的任何其他操作系统man
)上,手册通常有多个部分。通常,给定的条目(例如echo
或printf
)存在于多个部分中,但不是全部。有没有一种简单的方法可以检查该条目可以在手册的哪些部分中找到?
显然,人们可以尝试man [section] [entry]
浏览手册中的每个部分,但老实说,我甚至不确定完整的部分列表是什么(或者如何找到它),而且我正在寻找一些不那么暴力的东西。
答案1
尝试whatis
(例如whatis printf
)。人类的部分不是随机的。参见维基百科:手册页。例如,第 2 节仅包含系统调用,而第 3 节仅包含 C 库调用。有一个printf
用于命令行的版本,因此它位于第 1 节中。但 C 库中也有一个版本,因此它位于第 3 节中。
您必须whatis
首先创建数据库makewhatis -w
(在 Cygwin 上,它位于 /usr/sbin)。
答案2
它们可以与 FreeBSD man
、man
Linux 发行版以及 Debian Hurd 之类的版本,甚至 Cygwin 一起使用man
:
man -a -f ${entry}
或者,更隐晦但可能更有用的是,在 shell 脚本中,
man -a -w ${entry}
当然,您必须whatis
正确填充数据库。使用 Cygwin,这一点不会立即发生,与 FreeBSD、Debian 等不同。必须运行makewhatis
。