如何在整个系统内安装手册页文件?
例如,如果我有一个手册页文件examplecommand.1
,我该如何安装它,以便我只需键入即可man examplecommand
查看它?
答案1
首先,找出你的手册页属于哪个部分。如果它是一个命令,它可能属于部分
1
。你可以阅读命令手册man
页查看不同部分及其对应编号的描述。将您的手册页复制到
/usr/local/share/man/man1/
(1
如果需要,请更改为您的章节编号)。您也可以将其安装到/usr/share/man/man1/
,但最好使用/usr/local/
不使用 APT 包管理器安装的文件目录。如果您愿意,您还可以选择对文件进行符号链接,而不是复制它:# First, ensure your local man page directory exists for your section of # interest (section 1 in this case, so the `man1` dir) sudo mkdir -p /usr/local/share/man/man1 # Option 1: **copy** over the man page to section 1 sudo cp examplecommand.1 /usr/local/share/man/man1/ # Option 2: **symlink** over the man page to section 1. # NB: This cmd assumes you are already cd'ed into the dir in # which "examplecommand.1" is found, prior to running this cmd. sudo ln -si "$PWD/examplecommand.1" /usr/local/share/man/man1/
运行
mandb
命令。这将更新man
的内部数据库:sudo mandb
就是这样!你应该能够通过运行以下命令来查看手册页:
man 1 examplecommand
参考:
- 这命令手册
man
页 - 这命令手册
mandb
页 /usr/bin/dh_installman
如果您能读懂 Perl,则可以在软件包中安装源代码debhelper
。
答案2
如果你只需要安装手册页本地:
如果MANPATH
未设置,或包含空部分(即以 开头:
、以 结尾:
或包含::
),则每当是 的一部分<path>/share/man
时,将自动搜索手册页,<path>/bin
PATH
对于所有值<path>
。
man manpath
这提供了一种非常简单的方式来添加本地安装软件的手册页。和中有一些详细信息/etc/manpath.config
,但我没有看到任何关于从<path>/bin
到 的通用映射的提及<path>/share/man
。
答案3
对于复制到的应用程序二进制文件~/.local/bin
,将其.1
手册文件复制到~/.local/share/man/man1
在 Ubuntu 18.04 上对我来说是有效的。我必须创建后者的目录。现在我可以使用 访问手册页man <app_name>
。
答案4
上面 @ntc2 的回答是大家应该看看的。我想补充一些不适合放在评论部分的评论:
@ntc2 的方法为只需要为本地二进制文件设置 PATH(他们已经预料到的)的人们提供了一条路径。
但是,我认为中的所有路径都不存在通用映射<path>/bin
-> 。当所讨论的是时,似乎避免了这种特定的映射。在使用 执行 strace(1) 时,我看到以下查找:<path>/share/man
$PATH
$PATH
$HOME/bin
man
MANPATH=:/nonexistingdir
对于$PATH
其中的任何元素$HOME/bin
<path>/bin
-><path>/man
<path>/bin
-><path>/bin/man
<path>/bin
-><path>/share/man
<path>/bin
-><path>/bin/share/man
为了$HOME/bin
$HOME/bin
->$HOME/man
我不知道为什么它会跳过其他的。这是在 Debian Buster 系统上。在其他系统上可能会有所不同。
对我来说,这意味着安装手册页最安全的路径是<path>/man
,因为如果它在中,就保证能找到它$PATH
。