第 3 节中没有正则表达式的手册页 - 它在哪里?

第 3 节中没有正则表达式的手册页 - 它在哪里?

我发现手册页中的数字是什么意思?这很好地解释了命令/库文档的部分,我正在查看 的输出man regex并注意到另请参阅regex(3)

我尝试运行man 3 regex,但收到​​以下消息:

No manual page for regex in section 3

我的问题是——它在哪里?

如果这有什么不同的话,这是在 Ubuntu 10.04 上。

答案1

正则表达式(3)

名称 regcomp、regexec、regerror、regfree - POSIX 正则表达式函数

在 Arch Linux 以及互联网...

您可能需要(重新)安装它们:

sudo apt-get install manpages manpages-dev manpages-posix manpages-posix-dev

答案2

在 Ubuntu 中,此手册页属于manpages-devpackage.json。

答案3

您需要安装该manpages-dev软件包:

$ dpkg -S /usr/share/man/man7/regex.7.gz
manpages: /usr/share/man/man7/regex.7.gz

$ dpkg -S /usr/share/man/man3/regex.3.gz
manpages-dev: /usr/share/man/man3/regex.3.gz

实际上第 2 节和第 3 节中的所有手册页都来自该manpages-dev包。

我猜这是因为它们占用了大约 20 MB,而有些用户不需要它们。

(还有一些由各种*-dev包和编程语言特定包提供的手册页,例如*-perl。)

如果您找不到某个文件,但您知道其部分名称,apt-file可以提供帮助:

$ apt-file search regex.3.gz
...
manpages-dev: /usr/share/man/man3/regex.3.gz
...

答案4

在我的 gentoo 系统上man regex只提供了第 3 部分(POSIX 系统调用)手册页。 (手册部分做了什么你的 man regex检索它的手册页?只是好奇。)

在我的系统上运行 aequery belongs /usr/include/regex.h表明该头文件是sys-libs/glibc包的一部分。同样,通过运行命令,equery belongs /usr/share/man/man3/regex.3.bz3我发现该regex.h文件的手册页是由 package 提供的sys-apps/man-pages

现在,我想 Gentoo 和 Ubuntu 可能有不同的方式来组织他们的 manfiles,但我认为你值得一试,检查一下你的主机上是否安装了一些与手册页相关的软件包。我理所当然地认为你的机器已经glibc安装了 Ubuntu 的软件包(否则我很难相信你的系统甚至会启动),你的/usr/include/regex.h系统上应该有可用的文件(除非 Ubuntu 决定在其他地方拥有它,例如/usr/local/include/regex.h)。

相关内容