man

man

The man command in Unix and Linux stands for "manual" and is used to display the user manual of any command that we can run on the terminal. It provides detailed information about the command, including its options, syntax, description, and examples. This is an essential tool for users who need to understand how to use various commands.

Basic Usage

The syntax for the man command is:

man [command]

Examples

Displaying the Manual for a Command

To view the manual for a specific command, simply type man followed by the command name:

man ls

This will open the manual page for the ls command.

Navigating the Manual Pages

  • Space: Move to the next page.

  • b: Move to the previous page.

  • q: Quit the manual page viewer.

  • /search_term: Search for a term within the manual page.

  • n: Move to the next occurrence of the search term.

  • N: Move to the previous occurrence of the search term.

  • h: Display help about navigation commands.

Sections of the Manual

The manual pages are divided into several sections. Each section contains a specific type of information:

  1. General Commands: User commands (e.g., ls, cd).

  2. System Calls: Functions provided by the kernel (e.g., fork, exec).

  3. Library Functions: Functions provided by the system libraries (e.g., printf, malloc).

  4. Special Files: Files found in /dev (e.g., null, zero).

  5. File Formats and Conventions: (e.g., /etc/passwd, /etc/fstab).

  6. Games: (e.g., fortune).

  7. Miscellaneous: (e.g., man, info).

  8. System Administration Tools: (e.g., systemctl, journalctl).

  9. Kernel Routines: (e.g., kernel functions).

Viewing a Specific Section

To view the manual for a specific section, provide the section number before the command:

man 5 passwd

This will display the manual page for the passwd file format, not the passwd command.

Practical Use Cases

Learning Command Usage

If you're unsure how to use a command or what options it supports, you can read its manual page:

man grep

This will show you how to use grep, including its options and examples.

Understanding Configuration Files

Manual pages are also available for many configuration files, providing detailed descriptions of the file's syntax and usage:

man fstab

This will display information about the /etc/fstab file format.

Debugging Scripts

When writing scripts, you can use the man command to check the exact syntax and options of commands you are using:

man find

This ensures you use the correct options and understand the command's behavior.

Advanced Options

The man command has several options that can enhance its usage:

  • -k: Search the manual page names and descriptions (apropos command).

  • -f: Equivalent to whatis, it displays a brief description of the command.

  • -a: Display all manual pages matching the command name, one after another.

  • -P: Specify the pager program to use.

Searching for a Term

To search for a term across all manual pages:

man -k search_term

For example, to find all commands related to "network":

man -k network

Displaying a Brief Description

To display a brief description of a command:

man -f ls

This might output:

ls (1) - list directory contents

Conclusion

The man command is an indispensable tool for any Unix or Linux user. It provides comprehensive documentation for commands, system calls, library functions, configuration files, and more. By mastering the man command, you can gain a deeper understanding of the system, troubleshoot issues effectively, and use commands more efficiently. Whether you're a beginner or an experienced user, the manual pages are a valuable resource for learning and reference. If you have any further questions or need assistance with anything else, feel free to ask!

help

Usage: plocate [OPTION]... PATTERN...

  -b, --basename         search only the file name portion of path names
  -c, --count            print number of matches instead of the matches
  -d, --database DBPATH  search for files in DBPATH
                         (default is /var/lib/plocate/plocate.db)
  -i, --ignore-case      search case-insensitively
  -l, --limit LIMIT      stop after LIMIT matches
  -0, --null             delimit matches by NUL instead of newline
  -N, --literal          do not quote filenames, even if printing to a tty
  -r, --regexp           interpret patterns as basic regexps (slow)
      --regex            interpret patterns as extended regexps (slow)
  -w, --wholename        search the entire path name (default; see -b)
      --help             print this help
      --version          print version information

man

Usage: man [OPTION...] [SECTION] PAGE...

  -C, --config-file=FILE     use this user configuration file
  -d, --debug                emit debugging messages
  -D, --default              reset all options to their default values
      --warnings[=WARNINGS]  enable warnings from groff

 Main modes of operation:
  -f, --whatis               equivalent to whatis
  -k, --apropos              equivalent to apropos
  -K, --global-apropos       search for text in all pages
  -l, --local-file           interpret PAGE argument(s) as local filename(s)
  -w, --where, --path, --location
                             print physical location of man page(s)
  -W, --where-cat, --location-cat
                             print physical location of cat file(s)

  -c, --catman               used by catman to reformat out of date cat pages
  -R, --recode=ENCODING      output source page encoded in ENCODING

 Finding manual pages:
  -L, --locale=LOCALE        define the locale for this particular man search
  -m, --systems=SYSTEM       use manual pages from other systems
   -M, --manpath=PATH         set search path for manual pages to PATH

  -S, -s, --sections=LIST    use colon separated section list

  -e, --extension=EXTENSION  limit search to extension type EXTENSION

  -i, --ignore-case          look for pages case-insensitively (default)
  -I, --match-case           look for pages case-sensitively

      --regex                show all pages matching regex
      --wildcard             show all pages matching wildcard

      --names-only           make --regex and --wildcard match page names only,
                             not descriptions

  -a, --all                  find all matching manual pages
  -u, --update               force a cache consistency check

      --no-subpages          don't try subpages, e.g. 'man foo bar' => 'man
                             foo-bar'

 Controlling formatted output:
  -P, --pager=PAGER          use program PAGER to display output
  -r, --prompt=STRING        provide the `less' pager with a prompt

  -7, --ascii                display ASCII translation of certain latin1 chars
  -E, --encoding=ENCODING    use selected output encoding
      --no-hyphenation, --nh turn off hyphenation
      --no-justification,                              --nj   turn off justification
  -p, --preprocessor=STRING  STRING indicates which preprocessors to run:
                             e - [n]eqn, p - pic, t - tbl,
g - grap, r - refer, v - vgrind

  -t, --troff                use groff to format pages
  -T, --troff-device[=DEVICE]   use groff with selected device

  -H, --html[=BROWSER]       use www-browser or BROWSER to display HTML output
  -X, --gxditview[=RESOLUTION]   use groff and display through gxditview
                             (X11):
                             -X = -TX75, -X100 = -TX100, -X100-12 = -TX100-12
  -Z, --ditroff              use groff and force it to produce ditroff

  -?, --help                 give this help list
      --usage                give a short usage message
  -V, --version              print program version

Mandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.

Last updated