Getting Help (man and other resources)

Most Linux tools have built-in documentation known as "man pages". The way to access this manual for a program is to type "man program". We can look at the man page for man here:

[root@localhost ~]$ man man
MAN(1)                               Manual pager utils                              MAN(1)

NAME
       man - an interface to the system reference manuals

SYNOPSIS
       man [man options] [[section] page ...] ...
       man -k [apropos options] regexp ...
       man -K [man options] [section] term ...
       man -f [whatis options] page ...
       man -l [man options] file ...
       man -w|-W [man options] page ...

DESCRIPTION
       man  is  the system's manual pager.  Each page argument given to man is normally the
       name of a program, utility or function.  The manual page  associated  with  each  of
       these  arguments  is  then found and displayed.  A section, if provided, will direct
       man to look only in that section of the manual.  The default action is to search  in
       all  of  the available sections following a pre-defined order (see DEFAULTS), and to
       show only the first page found, even if page exists in several sections.

       The table below shows the section numbers of the manual followed  by  the  types  of
       pages they contain.

       1   Executable programs or shell commands
       2   System calls (functions provided by the kernel)
       3   Library calls (functions within program libraries)
       4   Special files (usually found in /dev)
       5   File formats and conventions, e.g. /etc/passwd
       6   Games
       7   Miscellaneous (including macro packages and conventions), e.g. man(7), groff(7),
           man-pages(7)
       8   System administration commands (usually only for root)
       9   Kernel routines [Non standard]

       A manual page consists of several sections.

       Conventional section names include NAME, SYNOPSIS, CONFIGURATION,  DESCRIPTION,  OPā€
       TIONS,  EXIT STATUS,  RETURN VALUE,  ERRORS,  ENVIRONMENT, FILES, VERSIONS, CONFORMā€
       ING TO, NOTES, BUGS, EXAMPLE, AUTHORS, and SEE ALSO.

       The following conventions apply to the SYNOPSIS section and can be used as  a  guide
       in other sections.

 Manual page man(1) line 1 (press h for help or q to quit)

Man pages are present on almost all Linux systems and are often included in any program that has a command line interface. For instance, Singularity and tmux both have very good man pages. The important parts are the top, where it shows the expected syntax. Then there are explanations of what every flag does. Usually there is some extra information. And then if you are lucky, toward the bottom there are examples. The man viewer works a lot like less. You can search with "/" quit with "q" or navigate pages with the arrow keys.

One of the downsides of man pages is that they will typically include everything that can be documented about the program. This obviously has uses, but sometimes can be daunting when you just need to find which is the right flag combination for tar to create a gzip tarball. Man pages often have examples, which you can skip to by typing "/" to search. Also it is useful to learn how to use duckduckgo to find examples.