Home > Article > Operation and Maintenance > Linux mystery showdown: which vs. whereis vs. whatis
It is possible that you have used the commands which, whereis, and whatis multiple times on Linux.. All three commands are used to find information about other Linux commands. These commands look similar, but they do have some differences.
#The following is a detailed comparison of which, whereis and whatis commands on Linux.
Some commands have multiple executable files in different directories. The Shell will search for executable files in the folder specified by the PATH environment variable to run the corresponding command.
To find the directories contained in the PATH environment variable, run the following command in a Linux terminal:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ echo $PATH
Tip: You can also manually add directory to your PATH environment variable.
As soon as the first executable path is found in Linux, the shell will execute it immediately. Using the which command you can determine the path to the executable file.
It can be useful in this situation: when two identical programs with different versions are installed on your system, or two software with the same name but different programs are installed. Using the which command you can find out which one will be executed first.
The following is the syntax of the which command:
which [选项] [命令]
For example, to check the actual path of the tar command, you can enter:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ which tar
This command will display the first executable path of the tar command in PATH, which is located in /usr/bin. Every time you run the tar command, the binary file located in the /usr/bin directory is executed by the shell, and this is what it means.
To display all available executable paths for a command, use the which command with the -a option:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ which -a tar
You can also display multiple commands at the same time The executable path is as follows:
which [命令1] [命令2] [命令3]
whereis command can display the executable files, source code files and manual page files related to the specified command path of. Unlike the which command, it searches not only $PATH for executable files, but also $MANPATH and other predefined locations.
Without any command line options, the whereis command displays the binary files, source files, and manual page files for the command:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ whereis tar
To display only the binary files path, use the -b option:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ whereis -b tar
To display only source files, use the -s flag:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ whereis -s tar
To display only manual pages, use the -m option:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ whereis -m tar
The whatis command provides a one-line description of a given Linux command. It gets this information from the command's man page.
For example, to find out what the tar command does, run:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ whatis tar
You can also find information about multiple commands at the same time, for example:
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ whatis ls cp mkdir cat head
If you need to find the executable path of a command in the shell, try using the which command. Use the whereis command to find source files, binaries, and man pages for a command. The
whereis command lists all binary executable files, while the which command displays only the first executable file that is executed when the command is entered in the shell.
which command searches in the PATH variable, while whereis command searches in standard Linux directories, including $PATH and $MANPATH.
Finally, the whatis command will extract a short description from the command's man page.
The which, whereis and whatis commands can help you find information about other Linux commands, such as the full path of the executable file, binary files, source files, manual pages, and the function of the command .
In addition to whatis command, you can also use other commands such as apropos, man, info and help to get detailed information and better understanding about Linux commands and their functions.
The above is the detailed content of Linux mystery showdown: which vs. whereis vs. whatis. For more information, please follow other related articles on the PHP Chinese website!