Manual page (Unix)

From Wikipedia, the free encyclopedia

The man page on man
The man page on man

Almost all substantial UNIX and Unix-like operating systems have extensive documentation known as man pages (short for "manual pages"). The Unix command used to display them is man. Each page is a self-contained document.

Contents

[edit] Usage

To read a manual page for a Unix command, one can use

man <command_name>

at a shell prompt; for example, "man ftp". In order to simplify paging through the output man generally uses the less file viewer, to return from this to the shell prompt enter q.

Pages are traditionally referred to using the notation "name(section)"; for example, ftp(1). The same page name may appear in more than one section of the manual, this can occur when the names of system calls, user commands, or macro packages conflict. Two examples are man(1) and man(7), or exit(2) and exit(3). The syntax for accessing the non-default manual section varies between different man implementations. On Linux and *BSD, for example, the syntax for reading printf(3) is

man 3 printf

[edit] History

The UNIX Programmer's Manual was first published on November 3, 1971. The first actual man pages were written by Dennis Ritchie and Ken Thompson at the insistence of Doug McIlroy in 1971. The troff macros used for man pages (-mm) were the general-purpose ones written by Ted Dolotta (later to be the first manager of USG and the principal author of the System III manual), with additions for the manuals. At the time, the availability of online documentation through the manual page system was regarded as a great advance. To this day, virtually every Unix command line application comes with its man page, and many Unix users perceive a lack of man pages as a sign of low quality; indeed, some projects, such as Debian, go out of their way to write man pages for programs lacking one. Few alternatives to man have enjoyed much popularity, with the possible exception of the GNU project's "info" system, an early and simple hypertext system.

However, the format of a single page for each application, the lack of classification within the sections and the relatively unsophisticated formatting facilities have motivated the development of alternative documentation systems, such as the previously mentioned info system.

Most Unix GUI applications (particularly those built using the GNOME and KDE development environments) now provide end-user documentation in HTML and include embedded HTML viewers such as yelp for reading the help within the application.

Usually the man pages are written in English. Translations into other languages can be also available on the system.

The default format of the man pages is troff, with either the macro package man (appearance oriented) or on some systems mdoc (semantic oriented). This makes it possible to typeset a man page to PostScript, PDF and various other formats for viewing or printing.

[edit] Manual sections

The manual is generally split into eight numbered sections, organized as follows (on BSD Unix and Linux):

Section Description
1 General commands
2 System calls
3 C library functions
4 Special files (usually devices, those found in /dev) and drivers
5 File formats and conventions
6 Games and screensavers
7 Miscellanea
8 System administration commands and daemons

Unix System V uses a similar numbering scheme, except section 4 is file formats, section 5 is miscellany and section 7 is special files.

On some systems some of the following sections are available:

Section Description
0 C library header files
9 Kernel routines
n Tcl/Tk keywords
x The X Window System

The sections are further subdivided by means of a suffix letter, such that section 3C is for C library calls, 3M is for the math library, and so on. A consequence of this is that section 8 (system administration commands) is sometimes relegated to the 1M subsection of the main commands section. Some subsection suffixes have a general meaning across sections:

Subsection Description
p POSIX specifications
x X Window System documentation

Some versions of man cache the formatted versions of the last several pages viewed.

To see options you can use with command man, enter the command man man.

[edit] Layout

All man pages follow a common layout that is optimized for presentation on a simple ASCII text display, possibly without any form of highlighting or font control. Sections present may include:

  • NAME — The name of the command or function, followed by a one-line description of what it does.
  • SYNOPSIS — In the case of a command, you get a formal description of how to run it and what command line options it takes. For program functions, a list of the parameters the function takes and which header file contains its definition. For experienced users, this may be all the documentation they need.
  • DESCRIPTION — A textual description of the functioning of the command or function.
  • EXAMPLES — Some examples of common usage.
  • SEE ALSO — A list of related commands or functions.

Other sections may be present, but these are not well standardized across man pages. Common examples include: OPTIONS, EXIT STATUS, ENVIRONMENT, KNOWN BUGS, FILES, AUTHOR, REPORTING BUGS, HISTORY and COPYRIGHT.

[edit] See also

[edit] External links

[edit] Repositories of manual pages

This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.