63

I hope my question isn't too trivial, but I've never actually needed to know this before.

In which directory can I find the files of the man pages, i.e. the read-only text file opened when you type man foo? I assume different distros may keep them in slightly different places, so if it makes any difference I run Ubuntu 10.04.

3 Answers 3

83

Use manpath to see the directories used by your system, and man --where --all foo to find a specific manual page of foo.

The standard location is /usr/share/man according to Filesystem Hierarchy Standard, and /usr/man is usually a symlink to that directory.

Other locations can be defined in /etc/manpath.config or /etc/man_db.conf (exact location varies). For example, /usr/local/share/man is almost always included.

In addition, man tries to find manual pages for every directory specified in $PATH – for example, if you added /opt/plan9/bin to $PATH, man will automatically search /opt/plan9/man and /opt/plan9/bin/man.

If the $MANPATH environment variable is set, however, it will override all other sources.

1
  • 3
    I know this question is for Ubuntu, but if anybody from macOS is here, the equivalent is man -w -a foo. It appears Apple's man does not have the longer --where and --all options
    – Max Coplan
    Nov 23, 2019 at 20:29
8

In the files that end with .gz when using whereis:

whereis man

output:

man: /usr/bin/man /usr/bin/X11/man /usr/local/man /usr/share/man /usr/share/man/man1/man.1.gz /usr/share/man/man7/man.7.gz

Example with grep:

whereis grep

output:

grep: /bin/grep /usr/share/man/man1/grep.1.gz

minor update on how to read these gz files:

info /usr/share/man/man1/grep.info.gz
zcat /usr/share/man/man1/grep.1.gz | less

or if it is in the name.number.gz format:

zcat /usr/share/man/man1/grep.1.gz | less
# or more readable
man /usr/share/man/man1/grep.1.gz
2
  • 5
    whereis tells you the location of a program, so doing whereis man will tell you where the man executable is stored, but not the man pages themselves.
    – jff
    Jun 29, 2016 at 1:31
  • 5
    @jff is incorrect here. From the manual page for whereis: 'whereis - locate the binary, source, and manual page files for a command'. Using whereis -m grep will restrict output just to the location of the manual page files. Jun 18, 2018 at 15:51
4

They should be under /usr/share/man.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .