I use Linux not Windows for several years at home and consider using command line quicker way to do things. However sometimes I could not easily recall name of needed command, for example instead of adduser I try to use mkuser in analogy to mkdir, chperm in analogy to chown. I remember in MS Office in help pages in see also/related there were usually several other topics close to it and I was able to find what I needed if I could recall related topic. In Linux man pages see also is very short, e.g. for chown it's chown (2) only. Before Internet was widespread, how do you find name of the needed program?


The traditional command for this is apropos

For example, to search sections 1 Executable programs or shell commands and 8 System administration commands of the manual for terms add and user:

$ apropos -s1,8 add -a user
addgroup (8)         - add a user or group to the system
adduser (8)          - add a user or group to the system
h5jam (1)            - Add a user block to a HDF5 file
pam_issue (8)        - PAM module to add issue file to user prompt
useradd (8)          - create a new user or update default new user information
| improve this answer | |

The apropos command will do what you need. You use it with a regular expression. For example, in your case, you can use:

apropos mk

apropos user

It will return all of the commands with those strings which will include mkuser.

If you were looking for the command that changes or lists attributes but couldn't quite remember the command then you could use:

apropos attr

That would return chattr and lsattr and anything else containing that string.

| improve this answer | |

As others have answered, apropos is the answer. For people who have difficulty getting the spelling correct, or who like shorter command, this is also available as

man -k
| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.