如何手动安装手册页文件?

如何手动安装手册页文件?

如何在整个系统内安装手册页文件?

例如,如果我有一个手册页文件examplecommand.1,我该如何安装它,以便我只需键入即可man examplecommand查看它?

答案1

  1. 首先,找出你的手册页属于哪个部分。如果它是一个命令,它可能属于部分1。你可以阅读命令手册man手册页图标查看不同部分及其对应编号的描述。

  2. 将您的手册页复制到/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/
    
  3. 运行mandb命令。这将更新man的内部数据库:

    sudo mandb
    
  4. 就是这样!你应该能够通过运行以下命令来查看手册页:

    man 1 examplecommand
    

参考:

答案2

如果你只需要安装手册页本地

如果MANPATH未设置,或包含空部分(即以 开头:、以 结尾:或包含::),则每当是 的一部分<path>/share/man时,将自动搜索手册页,<path>/binPATH对于所有值<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/binmanMANPATH=:/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

相关内容