man page
man pages—abbreviation for «manual pages»—are the form of documentation that is available on almost all UNIX-like operating systems, including Arch Linux. 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 documents, GNU’s attempt at replacing the traditional man page format.
Installation
man-db implements man on Arch Linux, and less is the default pager used with man. mandoc can also be used.
man-pages provides both the Linux and the POSIX.1 man pages (see [1] [dead link 2023-05-06 ⓘ] ).
Some localized man pages are also available:
- man-pages-cs for Czech
- man-pages-da for Danish
- man-pages-de for German
- man-pages-el for Greek
- man-pages-es for Spanish
- man-pages-fi for Finnish
- man-pages-fr for French
- man-pages-hu for Hungarian
- man-pages-id for Indonesian
- man-pages-it for Italian
- man-pages-jaAUR for Japanese
- man-pages-mk for Macedonian
- man-pages-nl for Dutch
- man-pages-pl for Polish
- man-pages-pt_br for Brazilian Portuguese
- man-pages-ro for Romanian
- man-pages-ru for Russian
- man-pages-sr for Serbian
- man-pages-sv for Swedish
- man-pages-trAUR for Turkish
- man-pages-uk for Ukranian
- man-pages-vi for Vietnamese
- man-pages-zh_cn for Simplified Chinese
- man-pages-zh_tw for Traditional Chinese
You can also search for all of the available localized man pages on the official repositories and on the AUR.
You can use some applications to view man pages:
- GNOME Help — Help viewer for GNOME. Part of gnome . It can show man pages via yelp man: or the undocumented Ctrl+L keybinding from an existing window.
- KHelpCenter — Application to show KDE Applications’ documentation. Man pages are in UNIX manual pages or by running khelpcenter man: .
- Konqueror — KDE file manager and web browser. It can show man pages via man: .
- xman — Provides a categorized look at man pages.
Accessing man pages
To read a man page, simply enter:
Manuals are sorted into several sections. Each section has an intro, such as intro(1) , intro(2) and so on. For a full listing see man-pages(7) § Sections of the manual 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 man(1) and man(7) . In this case, give man the section number followed by the name of the man page, for example:
to read the man page on /etc/passwd , rather than the passwd utility.
Or equivalently, the man page followed by the section number, separated by a period:
Searching manuals
Man pages can be searched when the exact name of a page is not known using any of the following equivalent commands:
$ man -k expression $ man --apropos expression $ apropos expression
expression is interpreted as a regular expression by default.
To search for keywords in whole page texts, use the -K option instead.
Note: The search feature is provided by a dedicated cache. By default, maintenance of that cache is handled by man-db.service which gets periodically triggered by man-db.timer . If you are getting a «nothing appropriate» message for every search, try manually regenerating the cache by running mandb as root.
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:
ls (1p) - list directory contents ls (1) - list directory contents
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:
Reading local man pages
Instead of the standard interface, using browsers such as lynx and Firefox to view man pages allows users to reap info pages’ main benefit of hyperlinked text. Alternatives include the following:
Conversion to HTML
mandoc
Install the mandoc package. To convert a page, for example free(1) :
$ mandoc -Thtml -Ostyle=style.css /usr/share/man/man1/free.1.gz > free.html
Now open the file called free.html in your favourite browser.
man2html
First, install man2html from the official repositories.
$ 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
man -H
The man-db implementation also has the ability to do this on its own:
This will read your BROWSER environment variable to determine the browser. You can override this by passing the binary to the -H option.
roffit
$ gunzip -c /usr/share/man/man1/free.1.gz | roffit > free.html
Conversion to PDF
man pages have always been printable: they are written in troff(1) , which is fundamentally a typesetting language. Therefore, you can easily convert man pages to any of the formats supported as output devices by groff, which is used by man-db . For a list of output devices, see the -T option in groff(1) (or mandoc(1) if you use the mandoc package).
This will produce a PDF file:
$ man -Tpdf manpage > filename
Caveats: Fonts are generally limited to Times at hardcoded sizes. Some man pages were specifically designed for terminal viewing, and will not look right in PS or PDF form.
Online man pages
There are several online databases of man pages, including:
- Arch manual pages—contains man pages from Arch Linux packages. Used for man page links from the wiki. You can also use the !archman DuckDuckGo bang to search through the Arch manual pages directly.
- man7.org—The Linux man-pages project. Upstream of the man-pages package. The online pages currently show an outdated version of man-pages (5.13, released in 2021).
- manned.org—collection from various Linux distributions, BSD, etc., with multiple package versions.
- linux.die.net
- man.cx—Man pages extracted from Debian testing.
- Debian man pages
- Ubuntu man pages
- DragonFlyBSD man pages
- FreeBSD man pages
- NetBSD man pages
- OpenBSD man pages
- Plan 9 Manual — Volume 1
- Inferno Manual — Volume 1
- The UNIX and Linux forums man page repository
Note that while man-pages provides man pages for POSIX.1 (see [2] [dead link 2023-05-06 ⓘ] ), an official online reference also exists:
There is also a comparison table of the online databases.
Warning: Some distributions provide patched or outdated man pages that differ from those provided by Arch. Exercise caution when using online man pages.
Tip: The online Arch manual pages can be rendered in the terminal using this command: curl -sL ‘https://man.archlinux.org/man/clang.raw’ | man -l —
Noteworthy man pages
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).
Arch Linux specific pages:
This article or section needs expansion.
DESCRIPTION
This website is a repository of all manual pages available in the Arch Linux packages. There are 73089 manual pages and 7584 symbolic links from 3573 packages, another 10305 packages do not contain any indexable manual pages.
Traditionally, manual pages are organized into several sections. Read the introduction pages for each section: intro(1), intro(2), intro(3), intro(4), intro(5), intro(6), intro(7), intro(8). Some packages provide their manuals in a subsection (e.g. 3ssl) and some use non-standard sections (e.g. 0 or n).
USAGE
- Use the search form to search for keywords in the names and descriptions of manual pages and packages. You can also the !archman DuckDuckGo bang to search Arch manual pages.
- Use the listing form to list all manual pages matching the specified filtering and sorting criteria.
- Manually use the addressing scheme as explained below.
The manual pages are addressable as /man///… . Any part except is optional:
- and can be used to disambiguate the page version found in multiple packages. If omitted, manual pages are looked up in package repositories in the following order: core, extra, community, multilib.
- If is missing, you will be redirected to the first manual page found in sections in the following order: 1, n, l, 8, 6, 3, 0, 2, 5, 7, 4, 9.
- The default language is en . Note that en is also the fallback language for pages, which are not available in any other language.
- The default format is html (other supported formats are txt and raw ).
Note that symbolic links, such as bunzip2(1), are implemented as HTTP redirects with the 302 status code. Symbolic links are included in per-package listings, such as core/openssl.
LAST UPDATES
This is just a brief summary of the last updates to the internal database.
Time (UTC) | Duration | Updated packages | Updated man pages |
---|---|---|---|
2023-07-15 00:58:05 | 00:02:22 | 277 | 1095 |
2023-07-14 00:58:54 | 00:01:34 | 85 | 160 |
2023-07-13 00:27:17 | 00:01:31 | 174 | 69 |
2023-07-12 00:59:51 | 00:02:09 | 220 | 1632 |
2023-07-11 00:08:41 | 00:01:40 | 144 | 184 |
NOTES
AUTHORS
The project was initially created for the man template on the Arch wiki. The code is developed in a GitLab repository.
SEE ALSO
There are other manual page websites using different sources and providing different features. See a list on the wiki.
Powered by archmanweb, using mandoc for the conversion of manual pages.
The website is available under the terms of the GPL-3.0 license, except for the contents of the manual pages, which have their own license specified in the corresponding Arch Linux package.