在 Ubuntu 中,当我运行命令时man rsyslog.conf
,会出现一个手册页。所以我尝试通过 查找此手册页的位置whereis -m rsyslog.conf
,但没有给我任何结果。我应该对 $config mans 的位置使用另一个命令吗?这些手册页存储在 Linux 中的哪里?
答案1
您可以询问man
在哪里可以找到手册页。
$ man -w rsyslog.conf
/usr/share/man/man5/rsyslog.conf.5.gz
该whereis
实用程序确实知道去那里查看:
$ whereis -m xfs.5
xfs: /usr/share/man/man5/xfs.5.gz
那么为什么没有找到呢rsyslog.conf
?
$ whereis -m rsyslog.conf
rsyslog:
rsyslog:
该行以和 not开头的事实rsyslog.conf:
是一个暗示。这是因为whereis
忽略扩展名你要求它找到什么。
$ whereis -m xfs.1
xfs: /usr/share/man/man5/xfs.5.gz
当whereis
查看可用文件时,它忽略压缩扩展,并允许实际文件有一个额外的扩展名(加上一些与此处不相关的其他内容)。因此,当它被告知查找 时xfs.5
,它实际上会查找xfs
,但允许xfs.5.gz
作为匹配项(它也允许xfs
, xfs.42
,xfs.gz
等)。当它被告知要寻找时rsyslog.conf
,它实际上会寻找rsyslog
,并且会允许rsyslog.conf.gz
或rsyslog.5.gz
不允许rsyslog.conf.5.gz
。如果您告诉它查找rsyslog.conf.5
,它会找到手册页(但它甚至会在另一部分中找到手册页)。
虽然whereis
可以方便地在一个地方查找可执行文件、手册页和源代码,但它的可靠性不如其他工具,因为它具有古怪的查找规则,并且只在硬编码的地方查找。
$PATH
要在当前可执行文件搜索路径 ( )中查找可执行文件,请使用type
shell 内置命令。$MANPATH
要在当前手册页搜索路径(或从$PATH
系统配置中推断)中查找手册页,请使用man -w
(或man -wa
如果有多个匹配项)。- 要在系统上的任何位置查找文件,请使用
locate
。 - 要在 Ubuntu 软件包中查找文件(即使您尚未安装该软件包),请使用
apt-file search
。
答案2
在 Ubuntu 中,dpkg -L <package>
将告诉您此软件包附带的所有文件。如果您在那里找不到手册页,那么您通常可以在以下位置找到它:<package>-doc
为了rsyslog
:
$ dpkg -L rsyslog | grep man
/usr/lib/x86_64-linux-gnu/rsyslog/mmanon.so
/usr/share/man
/usr/share/man/man1
/usr/share/man/man5
/usr/share/man/man5/rsyslog.conf.5.gz
/usr/share/man/man8
/usr/share/man/man8/rsyslogd.8.gz
您可以使用以下命令查看原始数据*.gz
:
$ gunzip -c /usr/share/man/man5/rsyslog.conf.5.gz
.TH RSYSLOG.CONF 5 "22 October 2012" "Version 7.2.0" "Linux System Administration"
.SH NAME
rsyslog.conf \- rsyslogd(8) configuration file
.SH DESCRIPTION
The
.I rsyslog.conf
file is the main configuration file for the
.BR rsyslogd (8)
which logs system messages on *nix systems. This file specifies rules
for logging. For special features see the
.BR rsyslogd (8)
manpage. Rsyslog.conf is backward-compatible with sysklogd's syslog.conf file. So if you migrate
from sysklogd you can rename it and it should work.
...
要回答您更普遍的问题“配置的手动位置在哪里”,请参阅第 5 章 ( /usr/share/man/man5/
)。如果我们看一下输出man man
(不要用谷歌搜索),我们得到:
The table below shows the section numbers of the manual followed by the types of pages they contain.
1 Executable programs or shell commands
2 System calls (functions provided by the kernel)
3 Library calls (functions within program libraries)
4 Special files (usually found in /dev)
5 File formats and conventions, e.g. /etc/passwd
6 Games
7 Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7)
8 System administration commands (usually only for root)
9 Kernel routines [Non standard]