The whatis linux command
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.
By default 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 generatordebian:~$ whatis -s 3,4 random
# search only sections 3 and 4 for
# random
random (3) - random number generator
random (4) - kernel random number source devicesdebian:~$ 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 ondebian:~$ whatis -r who
# Partial match is allowed,
# when using regular expression.
who (1) - show who is logged on
whoami (1) - print effective useriddebian:~$ whatis -r '^who$'
# The pattern to search for, starts
# and ends with who.
who (1) - show who is logged ondebian:~$ 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 *
, or ?
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 ondebian:~$ 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 useriddebian:~$ 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
Originally published at https://twiserandom.com on August 28, 2021.