How do I find a Unix / Linux command?

Posted on in Categories , , last updated May 7, 2008

Q. How do I find UNIX / Linux command for particular task?

A. You can do keyword based search under Linux / UNIX using man or apropos command.

apropos command

Each Linux / UNIX / BSD manual page has a short description available within it. apropos command searches the descriptions for instances of keyword. keyword is usually a regular expression (-r option), wildcards (-w option), or match the exact keyword (-e option). Using these options, it may be necessary to quote the keyword or escape (\) the special characters to stop the shell from interpreting them.

apropos examples

Find out all delete / removal related administrative commands:
$ apropos -s8 -w "*delete*"
Sample output:

addgroup (8cn)       - add and delete newsgroups, locally only
delgroup (8cn)       - add and delete newsgroups, locally only
groupdel (8)         - delete a group
userdel (8)          - delete a user account and related files

The -s option search only the given manual section. If section is a simple section, for example “3”, then the displayed list of descriptions will include pages in sections “3”, “3perl”, “3x”, and so on; while if section has an extension, for example “3perl”, then the list will only include pages in that exact part of the manual section. Following table highlights man page sections:

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

Find command that removes file:
$ apropos -r 'remove file'
Sample output:
rm (1) - remove files or directories
Search the short descriptions and manual page names for the keyword printf as regular expression:
$ apropos -r printf

aa_printf (3)        - print text to AA-lib output buffers.
asprintf (3)         - print to allocated string
cucul_printf (3caca) - (unknown subject)
dprintf (3)          - print to a file descriptor
fprintf (3)          - formatted output conversion
fwprintf (3)         - formatted wide-character output conversion
gl_printf (3)        - write formatted output in graphic mode
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

Read apropos man page for more information:
$ man apropos

Related: Linux commands to help you navigate

3 comment

  1. Hi

    Super and very useful things i am getting here..
    Thanxs a lottttttttttttttt…

    good website…. knowledge centr anyone can easily understand and use it

  2. Thank you for this information… I never knew this was possible. I have always Googled through online man pages. This is much more efficient.

    I have now set up an alias with a note to this page. Thanks again!

Leave a Comment