whatis is used to search in a case insensitive way, the
mandb database, for the name of a command, a library function, or a system call… in order to display its description.
whatis only searches the database keys, and not the description associated with these keys.
bind -> "- 2 2 1557252946 0 A - - gz bind a name to a socket" .. # The database, that whatis searches # in, contains keys and values. # key -> value # item name -> description # key is the name of a user # command, or of a system or a # library call... # value, is the description, # of this user command, or of # this system, or library call. # value additionally contains, # the manual section, to which # the item belongs. # whatis only searches the keys, # and not the description.
whatis will search all the manual sections , for the item name . The
-s option can be used, followed by section numbers, separated by comma, to specify the sections to search in.
debian:~$ whatis random # random is in section 7, 4, and 3. random (7) - overview of interfaces for obtaining randomness random (4) - kernel random number source devices random (3) - random number generator debian:~$ whatis -s 3,4 random # search only sections 3 and 4 for # random random (3) - random number generator random (4) - kernel random number source devices debian:~$ whatis -s 3 random # search only section 3 for # random random (3) - random number generator
The description of more than one item can be gotten.
debian:~$ whatis ls who # get the description of # ls and who. ls (1) - list directory contents who (1) - show who is logged on
By default when using
whatis, the match must be exact, so the provided token, and the item name must fully match. regular expression can be used, to instead search for a pattern, by using the
-r option, and as such a partial match is allowed.
debian:~$ whatis who # Only exact match. who (1) - show who is logged on debian:~$ whatis -r who # Partial match is allowed, # when using regular expression. who (1) - show who is logged on whoami (1) - print effective userid debian:~$ whatis -r '^who$' # The pattern to search for, starts # and ends with who. who (1) - show who is logged on debian:~$ whatis -r 'who$' 'whoami$' # Search for two patterns, that # start and end with who, or whoami . who (1) - show who is logged on whoami (1) - print effective userid
Instead of pattern matching using regular expression, pattern matching can be achieved, by using shell style wildcards, as in the
? shell wildcards. In this case a full match must occur, after wildcard expansion. The used pattern must be quoted, as not to have the wildcards expanded by the shell, if there is a matching file.
debian:~$ whatis -w who # The -w option, means shell style # wildcards matching. # When using shell wildcards, # an exact match must occur, # after expansion. This is why # whoami is not matched. who (1) - show who is logged on debian:~$ whatis -w 'who*' # * expands to anything which # starts with who, so who and # whoami are matched who (1) - show who is logged on whoami (1) - print effective userid debian:~$ touch whoareu # Create a whoareu file. debian:~$ whatis -w who* # Shell style wild card is used, # who* is not quoted, hence the # shell expands who, to whoareu # and the pattern that whatis # searches for, is whoareu, which # must exactly match the database # key. whoareu: nothing appropriate.
By default, results are truncated to the terminal width, if what is preferred is to view the results in full length, then the
-l option can be used.
debian:~$ whatis -r -s 3,8 '[ps]time$' # Search only sections 3 and 8 for # the pattern [ps]time$. # The item name must end with e($), # and it must contain either stime # or ptime strptime (3) - convert a string representation of time to a... vcstime (8) - Show time in upper right hand corner of the ... debian:~$ whatis -rl -s 3,8 '[ps]time$' # by default whatis will truncate the # result to the terminal width, # the -l option can be used to print # the results to their full width . strptime (3) - convert a string representation of time to a time tm structure vcstime (8) - Show time in upper right hand corner of the console screen