The traditional help system for Unix is the man page. Every command (and many other files, such as configuration files) has a man page, and these man pages can be read with the man program.

For example:

        man kill

would show the man page for the kill command, and the output would look like this:

KILL(1)                      UNIX Reference Manual                     KILL(1)

     kill - terminate or signal a process

     kill [-signal_name] pid ...
     kill [-signal_number] pid ...
     kill [-l]

     The kill utility sends the TERM signal to the processes specified by the
     pid operand(s).

     Only the super-user may send signals to other users' processes.

     The options are as follows:

     -l      List the signal names.

             A symbolic signal name specifying the signal to be sent instead
             of the default TERM. The -l option displays the signal names.

             A non-negative decimal integer, specifying the signal to be sent
             instead of the default TERM.

     Some of the more commonly used signals:

           -1     -1      (super-user broadcast to all processes, or user
                          broadcast to user's processes)
           0      0       (sh(1) only, signals all members of process group)
           2      INT     (interrupt)
           3      QUIT    (quit)
           6      ABRT    (abort)
           9      KILL    (non-catchable, non-ignorable kill)
           14     ALRM    (alarm clock)
           15     TERM    (software termination signal)

     Kill is a built-in to csh(1) and bash(1);  they allow job specifiers of
     the form ``%...'' as arguments so process id's are not as often used as
     kill arguments.  See csh(1) for details.

     csh(1),  bash(1),  ps(1),  kill(2),  sigvec(2)

     A kill command appeared in Version 6 AT&T UNIX.

     A replacement for the command ``kill 0'' for csh(1) users should be pro­

BSD Experimental                 May 31, 1993                                1


What happens when you don't know which man page to read?

There is a useful tool called apropos, which will list all of the man pages containing a keyword.

For example, if I wanted to see what man pages discussed PDF file viewers, I could use the command:

        apropos pdf

And the output on my system looks like this, showing me that I could read the man pages for gv or xpdf to find out about viewing PDF files:

        cont-de (1)          - PDF output from TeX
	cont-en (1)          - PDF output from TeX
        cont-nl (1)          - PDF output from TeX
	pdf2dsc (1)          - generate a PS page list of a PDF document
        pdf2ps (1)           - Aladdin Ghostscript PDF to PostScript translator
	pdfinitex (1)        - PDF output from TeX
        pdflatex (1)         - PDF output from TeX
	pdftex (1)           - PDF output from TeX
        pdftops (1)          - Portable Document Format (PDF) to PostScript converter (version 0.7a)
	pdftotext (1)        - Portable Document Format (PDF) to text converter (version 0.7a)
        pdfvirtex (1)        - PDF output from TeX
	ps2ascii (1)         - Aladdin Ghostscript PostScript or PDF to ASCII translator
        ps2pdf (1)           - Aladdin Ghostscript PostScript to PDF translator
	gv (1x)              - a PostScript and PDF previewer
	xpdf (1x)            - Portable Document Format (PDF) file viewer for X (version 0.7a)


You will have noticed in the example above that there is a brief summary of each man page. You can use the whatis command to display this summary line for any man page:

        whatis e2fsck


        e2fsck (8)           - check a Linux second extended file system

Both apropos and whatis can use wildcards and regular expressions, which can be very handy.


Man pages are divided up into a number of logical sections, as shown in the table below:

 1 Executable programs or shell commands
2System calls (functions provided by the kernel)
3Library calls (functions within system libraries)
4Special files (usually found in /dev)
5File formats and conventions eg /etc/passwd
7Macro packages and conventions eg man(7), groff(7).
8System administration commands (usually only for root)
9Kernel routines [Non standard]
nnew [obsolete]
llocal [obsolete]
ppublic [obsolete]
oold [obsolete]

This allows you to have man entries with the same name in different sections,For example, there is a printf command, and a printf library call (from the C library), and these are known as printf(1) and printf(3).
To read these two man pages (that have the same name), specify the appropriate section:

        man 1 printf

	man 3 printf


There is a fairly basic man page viewer for X11, called xman. It allows you to browse sections and read man pages in a formatted form:

Screenshot of xman

For more information

Some related commands are groff, man2html and manpath.

Both KDE and GNOME come with fancy graphical help browsers that can read man pages.

Index - Next