Written by Chris Gregg, with modifications by Nick Troccoli
Click here for a walkthrough video.
One of the most important tools to find out what a Unix or C command does is the man
command, which display "manual pages" for a particular command.
For example:
$ man ls
LS(1) User Commands LS(1)
NAME
ls - list directory contents
SYNOPSIS
ls [OPTION]... [FILE]...
DESCRIPTION
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
Mandatory arguments to long options are mandatory for short options too.
-a, --all
do not ignore entries starting with .
-A, --almost-all
do not list implied . and ..
--author
with -l, print the author of each file
-b, --escape
print C-style escapes for nongraphic characters
--block-size=SIZE
scale sizes by SIZE before printing them.
E.g., '--block-size=M' prints sizes in units
of 1,048,576 bytes. See SIZE format below.
Manual page ls(1) line 1 (press h for help or q to quit)
To use a man page, you can use the arrow keys to scroll up and down the page, and you type q
to quit, taking you back to where you left off (and restoring the screen, which is a nice option).
You can also perform a search inside a man page by typing a forward slash (/
) and then a search term, followed by the enter key.
If you are not sure what manual page you want, but you do have a keyword, you can search the manual system to find the page you want, by using the command man -k keyword
:
$ man -k printf
Printf (3o) - Formatted output functions.
asprintf (3) - print to allocated string
ber_printf (3) - OpenLDAP LBER simplified Basic Encoding Rules library...
dprintf (3) - print to a file descriptor
fprintf (3) - formatted output conversion
fwprintf (3) - formatted wide-character output conversion
printf (1) - format and print data
printf (3) - formatted output conversion
snprintf (3) - formatted output conversion
sprintf (3) - formatted output conversion
swprintf (3) - formatted wide-character output conversion
vasprintf (3) - print to allocated string
vdprintf (3) - print to a file descriptor
vfprintf (3) - formatted output conversion
vfwprintf (3) - formatted wide-character output conversion
vprintf (3) - formatted output conversion
vsnprintf (3) - formatted output conversion
vsprintf (3) - formatted output conversion
vswprintf (3) - formatted wide-character output conversion
vwprintf (3) - formatted wide-character output conversion
wprintf (3) - formatted wide-character output conversion
XtAsprintf (3) - memory management functions
$
The numbers in parentheses is the manual "section", and a command may show up in different sections. For example, in the above listing, there are two printf
commands, one in section 1, and one in section 3. Unix commands are in section 1, and C library functions are in section 3.
To find a command in a particular section, put the section number first:
$ man 1 printf # show the unix printf command manual page
$ man 3 printf # show the C library function manual page
$
A synonym to man -k keyword
is the apropos -r keyword
command:
$ apropos -r ls