问题描述
我希望我的问题不太琐碎,但是我从来没有真正需要知道这一点。
我可以在哪个目录中找到手册页的文件,即,键入man foo
时打开的read-only文本文件?我认为不同的发行版可能会使它们保留在稍微不同的位置,因此,如果有什么不同,我可以运行Ubuntu 10.04。
最佳解决思路
使用manpath
查看系统使用的目录,并使用man --where --all foo
查找foo的特定手册页。
根据Filesystem Hierarchy Standard,标准位置是/usr/share/man
,而/usr/man
通常是指向该目录的符号链接。
可以在/etc/manpath.config
或/etc/man_db.conf
中定义其他位置(确切位置有所不同)。例如,几乎总是包含/usr /local /share /man。
此外,man会尝试为$ PATH中指定的每个目录查找手册页–例如,如果您在$ PATH中添加了/opt /plan9 /bin,则man将自动搜索/opt /plan9 /man和/opt /plan9 /bin /男人。
但是,如果设置了$MANPATH
环境变量,它将覆盖所有其他源。
次佳解决思路
在使用whereis
时以.gz结尾的文件中:
whereis man
输出:
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
grep的示例:
whereis grep
输出:
grep: /bin/grep /usr/share/man/man1/grep.1.gz
关于如何读取这些gz文件的小更新:
info /usr/share/man/man1/grep.info.gz
zcat /usr/share/man/man1/grep.1.gz | less
或是否为name.number.gz格式:
zcat /usr/share/man/man1/grep.1.gz | less
# or more readable
man /usr/share/man/man1/grep.1.gz
第三种解决思路
它们应在/usr/share/man
下。