
A man page (short for manual page) is a form of
software documentation usually found on a
Unix or
Unix-like operating system. Topics covered include
computer programs (including
library and
system calls), formal standards and conventions, and even abstract concepts. A
user
Ancient Egyptian roles
* User (ancient Egyptian official), an ancient Egyptian nomarch (governor) of the Eighth Dynasty
* Useramen, an ancient Egyptian vizier also called "User"
Other uses
* User (computing), a person (or software) using an ...
may invoke a man page by issuing the
man
command.
By default,
man
typically uses a
terminal pager program such as
more
or
less
to display its output.
Man pages are often referred to as an ''on-line'' or ''
online'' form of software documentation,
[
*] even though the
man
command does not require internet access, dating back to the times when printed ''
out-of-band'' manuals were the norm.
History

In the first two years of the
history of Unix, no documentation existed.
The
Unix Programmer's Manual' was first published on November 3, 1971. The first actual man pages were written by
Dennis Ritchie
Dennis MacAlistair Ritchie (September 9, 1941 – October 12, 2011) was an American computer scientist. He is most well-known for creating the C programming language and, with long-time colleague Ken Thompson, the Unix operating system and B p ...
and
Ken Thompson at the insistence of their manager
Doug McIlroy in 1971. Aside from the man pages, the ''Programmer's Manual'' also accumulated a set of short papers, some of them
tutorials (e.g. for general Unix usage, the
C programming language, and tools such as
Yacc), and others more detailed descriptions of operating system features. The printed version of the manual initially fit into a single binder, but as of
PWB/UNIX and the
7th Edition of
Research Unix, it was split into two volumes with the printed man pages forming Volume 1.
[ Originally published in ''Microsystems'' 5(11), November 1984.]
Later versions of the documentation imitated the first man pages' terseness. Ritchie added a "How to get started" section to the
Third Edition introduction, and
Lorinda Cherry provided the "Purple Card" pocket reference for the
Sixth and
Seventh Editions. Versions of the software were named after the revision of the manual; the seventh edition of the ''Unix Programmer's Manual'', for example, came with the 7th Edition or Version 7 of Unix.
For the
Fourth Edition the man pages were formatted using the
troff typesetting package and its set of
-man
macros (which were completely revised between the Sixth and Seventh Editions of the ''Manual'',
but have since not drastically changed). 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 a man page, and many Unix users perceive a program's lack of man pages as a sign of low quality; indeed, some projects, such as
Debian
Debian (), also known as Debian GNU/Linux, is a Linux distribution composed of free and open-source software, developed by the community-supported Debian Project, which was established by Ian Murdock on August 16, 1993. The first version of D ...
, go out of their way to write man pages for programs lacking one. The modern descendants of
4.4BSD The History of the Berkeley Software Distribution begins in the 1970s.
1BSD (PDP-11)
The earliest distributions of Unix from Bell Labs in the 1970s included the source code to the operating system, allowing researchers at universities to modify a ...
also distribute man pages as one of the primary forms of system documentation (having replaced the old
-man
macros with the newer
-mdoc
).
There was a hidden
easter egg in the man-db version of the man command that would cause the command to return "gimme gimme gimme" when run at 00:30 (a reference to the
ABBA song
Gimme! Gimme! Gimme! (A Man After Midnight). It was introduced in 2011
but first restricted
and then removed in 2017 after finally being found.
Formatting

The default format of man pages is
troff, with either the
macro package man (appearance oriented) or mdoc (semantic oriented). This makes it possible to typeset a man page into
PostScript
PostScript (PS) is a page description language in the electronic publishing and desktop publishing realm. It is a dynamically typed, concatenative programming language. It was created at Adobe Systems by John Warnock, Charles Geschke, Doug Br ...
,
PDF
Portable Document Format (PDF), standardized as ISO 32000, is a file format developed by Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, hardware, and operating systems. ...
, and various other formats for viewing or printing.
Some
Unix systems have a package for the command, which enables users to browse their man pages using an HTML browser. Systems with groff and man-db should use the higher-quality native HTML output () instead.
The
GNU Emacs program ''WoMan'' (from "WithOut man") allows to browse man pages from the editor.
In 2010,
OpenBSD
OpenBSD is a security-focused, free and open-source, Unix-like operating system based on the Berkeley Software Distribution (BSD). Theo de Raadt created OpenBSD in 1995 by forking NetBSD 1.0. According to the website, the OpenBSD project em ...
deprecated
troff for formatting man pages in favour of
mandoc, a specialised compiler/formatter for man pages with native support for output in
PostScript
PostScript (PS) is a page description language in the electronic publishing and desktop publishing realm. It is a dynamically typed, concatenative programming language. It was created at Adobe Systems by John Warnock, Charles Geschke, Doug Br ...
,
HTML,
XHTML, and the terminal. It is meant to only support a subset of troff used in manual pages, specifically those using mdoc macros.
Online services
Quite a few websites offer online access to manual pages from various Unix-like systems.
In February 2013, the
BSD
The Berkeley Software Distribution or Berkeley Standard Distribution (BSD) is a discontinued operating system based on Research Unix, developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berk ...
community saw a new open sourc
mdoc.suservice launched, which unified and shortened access to the man.cgi scripts of the major modern BSD projects through a unique
nginx-based deterministic
URL shortening service for the *BSD man pages.
For Linux, a man7.org service has been set up to serve manuals specific to the system. A ManKier service provides a wider selection, and integrates the TLDR pages too.
Command usage
To read a manual page for a Unix command, a user can type:
man
Pages are traditionally referred to using the notation "name(section)": for example, . The section refers to different ways the topic might be referenced - for example, as a system call, or a shell (command line) command or package, or a package's configuration file, or as a coding construct / header.
The same page name may appear in more than one section of the manual, such as when the names of
system calls, user
commands, or
macro packages coincide. Examples are and , or and . The syntax for accessing the non-default manual section varies between different man implementations.
On Solaris and illumos, for example, the syntax for reading is:
man -s 3c printf
On Linux and BSD derivatives the same invocation would be:
man 3 printf
which searches for ''
printf'' in section 3 of the man pages.
Manual sections
The manual is generally split into eight numbered sections, organized as follows (on
Research Unix,
BSD
The Berkeley Software Distribution or Berkeley Standard Distribution (BSD) is a discontinued operating system based on Research Unix, developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berk ...
,
macOS and
Linux):
POSIX system calls are often present in both sections 2 and 3, where section 2 contains the system call's documentation from the local operating system and section 3 contains the system call's documentation from the POSIX Programmer's Manual.
Unix System V uses a similar numbering scheme, except in a different order:
On some systems some of the following sections are available:
Some sections are further subdivided by means of a suffix; for example, in some systems, 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:
(Section 3 tends to be the exception with the many suffixes for different languages.)
Some versions of man
cache the formatted versions of the last several pages viewed. One form is the ''cat page'', simply piped to the pager for display.
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, 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 declaration.
; 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, RETURN VALUE, ENVIRONMENT, BUGS, FILES, AUTHOR, REPORTING BUGS, HISTORY and COPYRIGHT.
]
Authoring
Manual pages can be written either in the old macros, the new macros, or a combination of both (). The macro set provides minimal rich text functions, with directives for the title line, section headers, (bold, small or italic) fonts, paragraphs and adding/reducing indentation. The newer language is more semantic in nature, and contains specialized macros for most standard sections such as program name, synopsis, function names, and the name of the authors. This information can be used to implement a semantic search for manuals by programs such as mandoc. Although it also includes directives to directly control the styling, it is expected that the specialized macros will cover most of the use-cases. Both the mandoc and the groff projects consider the preferred format for new documents.
Although man pages are, to troff, text laid out using 10-point Roman type
In Latin script typography, roman is one of the three main kinds of historical type, alongside blackletter and italic. Roman type was modelled from a European scribal manuscript style of the 15th century, based on the pairing of inscriptional ...
, this distinction is usually moot because man pages are viewed in the terminal (TTY) instead of laid out on paper. As a result, the "small font" macro is seldom used. On the other hand, bold and italic text is supported by the terminal via ECMA-48, and groff's does emit them as requested when it detects a supporting terminal. The BSD mandoc however only supports bold and underlined (as a replacement for italics) text via the typewriter backspace-then-overstrike sequence, which needs to be translated into ECMA-48 by .
Man pages are usually written in English, but translations into other languages may be available on the system. The GNU and the mandoc is known to search for localized manual pages under subdirectories.[
]
Alternatives
Few alternatives to man
have enjoyed much popularity, with the possible exception of GNU Project's " info
" system, an early and simple hypertext
Hypertext is E-text, text displayed on a computer display or other electronic devices with references (hyperlinks) to other text that the reader can immediately access. Hypertext documents are interconnected by hyperlinks, which are typi ...
system. There is also a third-party effort known as TLDR pages (tldr
) that provides simple examples for common use cases, similar to a cheatsheet.
In addition, some Unix GUI applications (particularly those built using the GNOME
A gnome is a mythological creature and diminutive spirit in Renaissance magic and alchemy, first introduced by Paracelsus in the 16th century and later adopted by more recent authors including those of modern fantasy literature. Its characte ...
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.
See also
* List of Unix commands
* List of Plan 9 applications
* info
* apropos
* README "\n\n\n\n\n\n''README.txt: A Memoir'' is a 2022 memoir by Chelsea Manning. It covers her early life, experience as a soldier in the U.S. Army, and life and imprisonment after she leaked classified information to WikiLeaks
WikiLeaks () is an ...
* RTFM
* ManOpen
ManOpen is a utility for NeXTSTEP and Mac OS X created by Carl Lindberg that can display Unix man pages in a graphical environment instead of a terminal emulator such as Terminal.
Man pages are included in the program; it has a Recents menu, w ...
– NeXT/ macOS graphical man utility
References
External links
History of UNIX Manpages
for a primary-source history of UNIX man pages.
UNIX and Linux Man Page Repository
with nearly 300,000 well formatted man pages.
What do the numbers in a man page mean?
FreeBSD Manual Pages
freebsd.org – has also man pages for Darwin, Debian, HP-UX, IRIS, NetBSD, OpenBSD, NextSTEP, SunOS and more
{{DEFAULTSORT:Man Page
Technical communication
Unix SUS2008 utilities
Plan 9 from Bell Labs
Online help