Ubuntu 中的手册页存储在哪里?

Yit*_*hak 53 ubuntu man ubuntu-10.04

我希望我的问题不是太琐碎,但我以前从未真正需要知道这一点。

在哪个目录中可以找到手册页的文件,即键入时打开的只读文本文件man foo?我认为不同的发行版可能会将它们放在略有不同的地方,所以如果有什么不同,我会运行 Ubuntu 10.04。

use*_*686 69

manpath用于查看系统使用的目录,并查找foo的特定手册页。man --where --all foo

标准位置/usr/share/man根据Filesystem Hierarchy Standard/usr/man通常是该目录的符号链接。

可以在/etc/manpath.config或 中定义其他位置/etc/man_db.conf(具体位置各不相同)。例如,几乎总是包含 /usr/local/share/man。

此外,man 会尝试为 $PATH 中指定的每个目录查找手册页——例如,如果您将 /opt/plan9/bin 添加到 $PATH,man将自动搜索 /opt/plan9/man 和 /opt/plan9/bin /男人。

$MANPATH但是,如果设置了环境变量,它将覆盖所有其他来源。

  • 我知道这个问题是针对 Ubuntu 的,但是如果 macOS 中的任何人都在这里,则相当于 `man -w -a foo`。看来 Apple 的 `man` 没有更长的 `--where` 和 `--all` 选项 (3认同)

jmu*_*sch 6

在使用 .gz 结尾的文件中whereis

whereis man
Run Code Online (Sandbox Code Playgroud)

输出:

man: /usr/bin/man /usr/bin/X11/man /usr/local/man /usr/share/man /usr/share/man/man1/man.1.gz /usr/share/man/man7/man.7.gz
Run Code Online (Sandbox Code Playgroud)

grep 示例:

whereis grep
Run Code Online (Sandbox Code Playgroud)

输出:

grep: /bin/grep /usr/share/man/man1/grep.1.gz
Run Code Online (Sandbox Code Playgroud)

关于如何读取这些 gz 文件的小更新:

info /usr/share/man/man1/grep.info.gz
zcat /usr/share/man/man1/grep.1.gz | less
Run Code Online (Sandbox Code Playgroud)

或者如果它是 name.number.gz 格式:

zcat /usr/share/man/man1/grep.1.gz | less
# or more readable
man /usr/share/man/man1/grep.1.gz
Run Code Online (Sandbox Code Playgroud)

  • `whereis` 告诉你程序的位置,所以执行 `whereis man` 会告诉你 `man` 可执行文件的存储位置,而不是手册页本身。 (4认同)
  • @jff 在这里不正确。从 whereis 的手册页:'whereis - 找到命令的二进制文件、源文件和手册页文件'。使用`whereis -m grep` 会将输出限制在手册页文件的位置。 (4认同)