NAME
man.conf
—
configuration file for
man(1)
DESCRIPTION
The man(1),
apropos(1), and
whatis(1) commands search for manual pages or their database files as
specified by the man.conf
file. Manual pages are
normally expected to be preformatted (see
mandoc(1)) and named with a trailing ‘.0’.
The man.conf
file contains two types of
lines.
The first type of line is a “section” line, which contains a section name followed by one or more directory paths. The directory paths may contain the normal shell globbing characters, including curly braces (‘{}’); to escape a shell globbing character, precede it with a backslash (‘\’). Lines in this format specify that manual pages for the section may be found in the following directories.
Directories named with a trailing slash character (‘/’) are expected to contain subdirectories of manual pages, (see the keyword “_subdir” below) instead of manual pages. These subdirectories are searched instead of the directory.
Before searching any directory for a manual page, the
man(1) command always searches the subdirectory with the same name as
the current machine type, if it exists. No specification of these
subdirectories is necessary in the man.conf
file.
Section names are unrestricted except for the reserved words specified below; in general, you should avoid anything with a leading underscore (‘_’) to avoid future incompatibilities.
The section named “_default” is the list of directories that will be searched if no section is specified by the user.
The second type of line is preceded with a “keyword”. The possible keywords and their meanings are as follows:
- _build
- Man file names, regardless of their format, are expected to end in a ‘.*’ pattern, i.e. a ‘.’ followed by some suffix. The first field of a _build line lists a suffix which indicates files which need to be reformatted or manipulated in some way before being displayed to the user. The suffix may contain the normal shell globbing characters (NOT including curly braces (‘{}’)). The rest of the line must be a shell command line, the standard output of which is the manual page in a format which may be directly displayed to the user. Any occurrences of the string ‘%s’ in the shell command line will be replaced by the name of the file which is being reformatted.
- _subdir
- The list (in search order) of subdirectories which will be searched in any
directory named with a trailing slash (‘/’) character. This
list is also used when a path is specified to the
man(1) utility by the user, using the
MANPATH
environment variable or the-M
and-m
options. - _suffix
- Man file names, regardless of their format, are expected to end in a ‘.*’ pattern, i.e. a ‘.’ followed by some suffix. Each field of a _suffix line is a suffix which indicates files which do not need to be reformatted or manipulated in any way, but which may be directly displayed to the user. Each suffix may contain the normal shell globbing characters (NOT including curly braces (‘{}’)).
- _version
- The version of the configuration file.
- _whatdb
- The full pathname (not just a directory path) for a database to be used by the apropos(1) and whatis(1) commands.
Multiple specifications for all types of lines are cumulative and the entries are used in the order listed in the file; multiple entries may be listed per line, as well.
Empty lines or lines whose first non-whitespace character is a hash mark (‘#’) are ignored.
FILES
- /etc/man.conf
- standard manual directory search path
EXAMPLES
Given the following man.conf
file:
_version BSD.2 _subdir cat1 cat3 cat2 _suffix .0 _build .[1-9] /usr/bin/mandoc %s _build .tbl /usr/bin/mandoc %s _default /usr/share/man/ sect3 /usr/share/man/{old/,}cat3
By default, the command “man
mktemp
” will search for
“mktemp.<any_digit>” and “mktemp.tbl” in
the directories /usr/share/man/cat1,
/usr/share/man/cat3, and
/usr/share/man/cat2, in that order. If on a machine
of type “vax”, the subdirectory “vax” in each
directory would be searched as well, before the rest of the directory was
searched.
If “mktemp.tbl” was found first, the command “/usr/bin/mandoc mktemp.tbl” would be run to build a man page for display to the user.
The command “man sect3
mktemp
” would search the directories
/usr/share/man/old/cat3 and
/usr/share/man/cat3, in that order, for the mktemp
manual page. If a subdirectory with the same name as the current machine
type existed in any of them, it would be searched as well, before each of
them were searched.
SEE ALSO
apropos(1), machine(1), man(1), whatis(1), whereis(1), fnmatch(3), glob(3)