如何用man打开.8文件?


10

如何正确打开本地.8文件一样named.8man命令?

我有man命令,也有.8文件。以我bind9/bin/named/named.8为例(可以在github上找到),我很确定自己以前能够做到。

在我的具体情况下,

$ man --version
man 2.7.5

$ man -C named.8
man: can't parse directory list `.\" Copyright (C) 2000, 2001, 2003-2009, 2011, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
'
man: can't make sense of the manpath configuration file /etc/manpath.config

named.8 以。。开始:

.\" Copyright (C) 2000, 2001, 2003-2009, 2011, 2013-2017 Internet Systems Consortium, Inc. ("ISC")
.\" 
.\" This Source Code Form is subject to the terms of the Mozilla Public
.\" License, v. 2.0. If a copy of the MPL was not distributed with this
.\" file, You can obtain one at http://mozilla.org/MPL/2.0/.
.\"
.hy 0
.ad l
'\" t
.\"     Title: named
.\"    Author: 
.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
.\"      Date: 2014-02-19
.\"    Manual: BIND9

我尝试Google搜索“如何打开.8文件”。结果为0,因此我认为应该有一个结果(问这个问题的理由比我是否只需要自己知道答案的理由好n倍,其中n是将来对该问题的搜索次数由任何人制作。)

Answers:


23

man ./named.8将工作。man将以文件名作为参数,但是如果参数“看起来像”联机帮助页的名称,它将假定它是联机帮助页名称,而不检查该名称的文件。通过添加./引用当前目录中的文件,您可以清楚地知道它是文件名,因此man将其视作文件名。您也可以使用完整的绝对路径。


很好 太好了,这很糟糕。现在,我不知道该选择您的答案还是Lok Lam Cheng的答案。
蒂莫西·斯万

@TimothySwan不会打扰我。-l看起来是个不错的选择。但是值得一试的是,有很多东西可以猜测某个东西是否是文件名,a ./可以帮助您。例如,如果您有一个名为的文件,-x并且某些东西坚持认为它是一个标志,因为它以开头-,那么,调用它./-x,就不再以它开头-
hobbs

@TimothySwan:FWIW,@ hobbs的答案在中起作用macos,而其他答案(使用-l参数)无效。
Seamus


8

.8页面名称的一部分表明它在手册页的第8节中。部分#8是联机帮助页的特定于系统管理命令...通常命令自己或根控制。

该命令man将在正确的路径中加载该页面。对于Ubuntu,此路径在中配置/etc/manpath.config

您将找到/usr/share/man作为人行道位置之一。如果将该文件(名称为8)放在该/usr/share/man/man8部分中,则可以使用以下命令加载该文件:

$ man named

这是假设文件位于:

/usr/share/man/man8/named.8

您可以使用以下命令更具体地加载该部分(它将加载同一页面:

$ man 8 named

通过浏览已自动放置在/usr/share/man目录层次结构中的各种手册页,您可以看到该结构的其他示例。

如果您正确编译并安装了github软件包,它将把手册放在manpath位置之一,并使用以下两个命令之一进行加载:

$ man named
$ man 8 named

这两个命令中的第二个命令指定(如您的问题所述)如何打开a.8文件。

当然,您可以获得有关手册页命令和命令结构的许多其他详细信息:

$ man man
$ man manpath

每个文档页面的底部都有链接,以更详细地说明其他相关命令,您可以按照以下说明进行操作:

$ man [name of other references in the page]

调用手册页/手册文件的其他方式包括:

您也可以通过指定页面的直接名称路径来打开任何手册页。例如:

$ man /usr/share/man/man8/named.8
$ man ./named.8

由于默认的ubuntu安装中不存在named.8,因此您可以在实际存在的页面(/usr/share/man/man8/apt.8.gz)上测试此选项:

$ man /usr/share/man/man8/apt.8.gz
$ man ./apt.8gz

直接打开页面时,而不是manpath中的页面时,但是请记住,如果您与该页面位于同一文件夹中,则必须使用man ./manpagename.8,而man manpagename.8将搜索manpath。它不会看到它,就像尝试调用执行文件一样,除非当前目录位于搜索路径中,否则该命令不会在当前目录中看到该命令。

注意

与您对Google .8扩展名的搜索相关,如果您在问题的“ .8”部分加上引号(“),则您的匹配会更具体。过滤器中的男人会更好。

下次您执行Google搜索时,此格式的问题可能会有所帮助:

如何打开“ .8” man文件

或者,使用与您输入的非盟问题相同的搜索过滤器:

如何用man打开“ .8”文件?


2

尽管其他答案是正确的,但是对于许多文件,您可以尝试通用解决方案:只要已lesspipe安装并激活,就可以执行以下操作:

less some_file.8

并获得格式化的输出。如果已lesspipe安装但由于某种原因未激活,则必须先运行eval $(lesspipe.sh)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.