man page

From ParabolaWiki
Jump to: navigation, search

{{META Related articles start|Related articles}}

  • Color output in console#man
  • </ul></div>

    man pages—abbreviation for "manual pages"—are the form of documentation that is available on almost all UNIX-like operating systems, including Parabola GNU/Linux-libre. The command used to display them is man.

    In spite of their scope, man pages are designed to be self-contained documents, consequentially limiting themselves to referring to other man pages when discussing related subjects. This is in sharp contrast with the hyperlink-aware info files, GNU's attempt at replacing the traditional man page format.

    man-db implements man on Parabola GNU/Linux-libre, and less is the default pager used with man.

    1 Accessing man pages

    To read a man page, simply enter:

    $ man page_name
    

    Manuals are sorted into several sections. For a full listing see the section entitled "Sections of the manual pages" in man man-pages.

    Man pages are usually referred to by their name, followed by their section number in parentheses. Often there are multiple man pages of the same name, such as Template:Man and Template:Man. In this case, give man the section number followed by the name of the man page, for example:

    $ man 5 passwd
    

    to read the man page on /etc/passwd, rather than the passwd utility.

    One-line descriptions of man pages can be displayed using the whatis command. For example, for a brief description of the man page sections about ls, type:

    $ whatis ls
    ls (1p)              - list directory contents
    ls (1)               - list directory contents
    

    2 Format

    Man pages all follow a fairly standard format, which helps in navigating them. See the section entitled "Sections within a manual page" in man man-pages.

    3 Searching manuals

    Even though the man utility allows users to display man pages, and search their contents via less, a problem arises when one knows not the exact name of the desired manual page in the first place! Fortunately, the -k or --apropos options can be used to search the manual page descriptions for instances of a given keyword.

    The research feature is provided by a dedicated cache. By default you may not have any cache built and all your searches will give you the nothing appropriate result. You can generate the cache or update it by running

    # mandb
    

    You should run it everytime a new manpage is installed.

    Now you can begin your search. For example, to search for man pages related to "password":

    $ man -k password
    

    or:

    $ man --apropos password
    

    This is equivalent to calling the apropos command:

    $ apropos password
    

    The given keyword is interpreted as a regular expression by default.

    If you want to do a more in-depth search by matching the keywords found in the whole articles, you can use the -K option:

    $ man -K password
    

    4 Page width

    The man page width is controlled by the MANWIDTH environment variable.

    If the number of columns in the terminal is too small (e.g. the window width is narrow), the line breaks will be wrong. This can be very disturbing for reading. You can fix this by setting the MANWIDTH on man invocation. With Bash, that would be:

    ~/.bashrc
    man() {
        local width=$(tput cols)
        [ $width -gt $MANWIDTH ] && width=$MANWIDTH
        env MANWIDTH=$width \
        man "$@"
    }
    

    5 Reading local man pages

    Instead of the standard interface, using browsers such as lynx and Icecat to view man pages allows users to reap info pages' main benefit of hyperlinked text. Alternatives include the following:

    • KDE users can read man pages in
      • Konqueror using man:<name>.
      • KHelpCenter (khelpcenter) in "UNIX manual pages" or by running khelpcenter man:<name>.
    • xorg-xman provides a categorized look at man pages in X.
    • The GNOME Help Browser yelp can be used via yelp man:<name>.

    5.1 Converting to browser-readable HTML

    5.1.1 man2html

    First, install man2html from the official repositories.

    Now, convert a man page:

    $ man free | man2html -compress -cgiurl man$section/$title.$section$subsection.html > ~/man/free.html
    

    Another use for man2html is exporting to raw, printer-friendly text:

    $ man free | man2html -bare > ~/free.txt
    

    5.1.2 man -H

    The GNU implementation of man in the Parabola GNU/Linux-libre repositories also has the ability to do this on its own:

    $ man -H free
    

    This will read your BROWSER environment variable to determine the browser. You can override this by passing the binary to the -H option.

    5.2 Converting to PDF

    man pages have always been printable: they are written in troff, which is fundamentally a typesetting language. If you have ghostscript installed, converting a man page to PDF is actually very easy: man -t <manpage> | ps2pdf - <pdf>.

    Caveats: Fonts are generally limited to Times at hardcoded sizes. There are no hyperlinks. Some man pages were specifically designed for terminal viewing, and won't look right in PS or PDF form.

    6 Online Man Pages

    There are several online databases of man pages, including:

    Warning: Some distributions provide patched or outdated man pages that differ from those provided by Parabola GNU/Linux-libre. Exercise caution when using online man pages.

    7 Noteworthy manpages

    Here follows a non-exhaustive list of noteworthy pages that might help you understand a lot of things more in-depth. Some of them might serve as a good reference (like the ASCII table).

    More generally, have a look at category 7 pages:

    $ man -s 7 -k ".*" 
    

    Arch Linux specific pages:

    8 See also

    9 Acknowledgement

    This wiki article is based on ArchWiki. We may have removed non-FSDG bits from it.