$configs 的手动位置在哪里?

$configs 的手动位置在哪里?

在 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.gzrsyslog.5.gz不允许rsyslog.conf.5.gz。如果您告诉它查找rsyslog.conf.5,它会找到手册页(但它甚至会在另一部分中找到手册页)。

虽然whereis可以方便地在一个地方查找可执行文件、手册页和源代码,但它的可靠性不如其他工具,因为它具有古怪的查找规则,并且只在硬编码的地方查找。

  • $PATH要在当前可执行文件搜索路径 ( )中查找可执行文件,请使用typeshell 内置命令。
  • $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]

相关内容