- 12 Linux Which Command, Whatis Command, Whereis Command Examples
- I. Linux whatis Command
- 1. Get information from specific sections of man pages using -s option
- 2. Search information through wild-cards using -w option
- 3. Search information through regular expressions using -r option
- 4. Disable trimmed output using -l option
- 5. Restrict search up to specified path using -M option
- II. Linux whereis Command
- 6. Locate binaries using -b option
- 7. Locate man pages for a command using -m option
- 8. Locate source of a command using -s option
- 9. Locate unusual entries using -u option
- 10. Locate binaries in a specified path using -B option
- 11. Locate man pages with limited scope using -M option
- III. Linux which Command
- 12. Display all the paths using -a option
- The “which” Command in Linux [3 Practical Examples]
- A. Description
- B. Syntax
- C. Options
- Practical Examples of the “which” Command in Linux
- Example 1: Locating a Single Command Using the “which” Command in Linux.
- Example 2: Locating Multiple Commands Using the “which” Command in Linux.
- Example 3: Listing All Available Locations of a Command Using the “which” Command in Linux.
- Conclusion
12 Linux Which Command, Whatis Command, Whereis Command Examples
This Linux tutorial will explain the three “W” commands. The three “W”s are whatis, whereis and which commands.
You already know how to use find command to efficiently fo find a file. Now, these three W commands will help you to locate more stuff from Linux command line.
I. Linux whatis Command
Whatis command is helpful to get brief information about Linux commands or functions. Whatis command displays man page single line description for command that matches string passed as a command line argument to whatis command. Whatis command searches for string in its index databases which is maintained by mandb program. Whatis command picks short description of NAME section of man page of command that matches to input given to the whatis command. Whatis provides several command line options to help user in getting brief information of specific Linux commands as per their need or interest. Syntax:
$ whatis write write (1) - send a message to another user write (2) - write to a file descriptor
1. Get information from specific sections of man pages using -s option
If we want to get Linux command information from specific section of man pages, then we can provide sections list using “-s or —sections or –section” option. It will restrict whatis command to display brief information from specified man page section only.
$ whatis -s "1","2" open open (1) - start a program on a new virtual terminal (VT). open (2) - open and possibly create a file or device
$ whatis -s "2" open open (2) - open and possibly create a file or device
2. Search information through wild-cards using -w option
If we want to search Linux commands or functions information using wild card, then whatis command gives “-w or –wildcard” option. It will make your search specific as per user’s need.
$ whatis -w 'ab*' abort (3) - cause abnormal process termination abs (3) - compute the absolute value of an integer
$ whatis -w 'ab?' abs (3) - compute the absolute value of an integer
It displays brief information of Linux commands or functions which start from “ab” and followed by any single character.
3. Search information through regular expressions using -r option
If we want to search Linux commands or functions information using regular expressions, then whatis command gives “-r or –regex” option. It will give flexibility to customize your search for Linux commands or functions throughout the Linux system.
$ whatis -r '^ab' abort (3) - cause abnormal process termination abs (3) - compute the absolute value of an integer
$ whatis -r 'ab$' anacrontab (5) - configuration file for anacron baobab (1) - A graphical tool to analyse disk usage crontab (1) - maintain crontab files for individual users (Vixie Cron) crontab (5) - tables for driving cron fstab (5) - static information about the filesystems inittab (5) - init daemon configuration swab (3) - swap adjacent bytes tc-stab (8) - Generic size table manipulations
4. Disable trimmed output using -l option
Generally whatis command trims long output of Linux commands or functions information to avoid “Not good” output display on terminal that is going beyond screen. To allow whatis command to show complete output on screen, “-l or –long” option can be used.
$ whatis ssh-import-id ssh-import-id (1) - retrieve one or more public keys from a public keyserver (Launchpad.net by default) and append them to the current user's authorized_keys file (or some other specifie.
$ whatis -l ssh-import-id ssh-import-id (1) - retrieve one or more public keys from a public keyserver (Launchpad.net by default) and append them to the current user's authorized_keys file (or some other specified file)
5. Restrict search up to specified path using -M option
By default, whatis command uses $MANPATH environment variable. But whatis provides “-M or –manpath” option to restrict search up to specified path of man pages.
$ whatis -M /usr/share/man hexdump hexdump (1) - ASCII, decimal, hexadecimal, octal dump
It displays brief information of Linux hexdump command from man pages available at path /usr/share/man.
$ whatis -M /usr/man hexdump hexdump: nothing appropriate.
II. Linux whereis Command
Whereis command is helpful to locate binary, source and manual pages of commands in the Linux system. It is very simple utility and provides several options which are given below with examples. Syntax:
$ whereis open open: /bin/open /usr/share/man/man1/open.1.gz /usr/share/man/man2/open.2.gz
It locates binary, source and man pages of “open” command and here it displayed paths where binary, man pages of open command is available in the system.
6. Locate binaries using -b option
$ whereis -b whereis whereis: /usr/bin/whereis /usr/bin/X11/whereis
It locates binary of “whereis” command and displays paths where binary of command is available in the system.
7. Locate man pages for a command using -m option
$ whereis -m whereis whereis: /usr/share/man/man1/whereis.1.gz
It locates man page of “whereis” command and displays path where man page of command is available in the system.
8. Locate source of a command using -s option
$ whereis -s whereis whereis:
It locates source of “whereis” command, but source of “whereis” command does not exist in the system, so it did not display path for source of command in the system.
9. Locate unusual entries using -u option
This option is something different that searches for unusual entries. These entries are those command whose source, binary or man page does not exist in the system as per options “[-bms]” specified along with “–u”.
$ whereis -m -u wcgrep wcgrep:
It checks if specified command (i.e. wcgrep) man page does not exist in the system. Whereis command with options “-m and -u” locates for the commands in the system whose man page does not exist.
Here, whereis command with same options is applied on “grep” command whose man page exists in the system, so whereis returned nothing and exits normally.
10. Locate binaries in a specified path using -B option
If user wants to search for binary and wants to limit the scope of search for whereis command up to specified path, then use “-B” option.
$ whereis -B /bin -f for_loop for_loop: /bin/for_loop
$ whereis -B /usr -f open open: /usr/share/man/man1/open.1.gz /usr/share/man/man2/open.2.gz
If open command’s binary is not found at specified path, then it is not shown but whereis command by default searches for other types (i.e. man page and source) of specified command (i.e. open) and displays them if found.
11. Locate man pages with limited scope using -M option
If user wants to search for man pages and wants to limit the scope of search for whereis command up to specified path, then use “-M” option.
$ whereis -M /usr/share/man/man1 -f open open: /bin/open /usr/share/man/man1/open.1.gz $ whereis -M /usr/share/man/man2 -f open open: /bin/open /usr/share/man/man2/open.2.gz $ whereis -M /usr/share/man/man3 -f open open: /bin/open
Here, it is observed that whereis command is displaying man page of “open” command which is available in specified path only. But, whereis command by default searches for other types (i.e. binary and source) of specified command (i.e. open) and displays them if found.
III. Linux which Command
Which command is very small and simple command to locate executables in the system. It allows user to pass several command names as arguments to get their paths in the system. “which” commands searches the path of executable in system paths set in $PATH environment variable. Syntax:
$ which ls gdb open grep /bin/ls /usr/bin/gdb /bin/open /bin/grep
It locates command names – “ls”, “gdb”, “open” and “grep” specified as arguments to “which” command and displays paths of each executable where it exists in the system.
12. Display all the paths using -a option
Above will search display the executable “echo” from all paths set in $PATH environment variable and displays the first path where echo executable is found. It may be case that executable is placed at other paths of $PATH environment variable as well. To get all paths where executable is present in the system, “-a” option can be used.
$ which -a echo /usr/sbin/echo /bin/echo
The “which” Command in Linux [3 Practical Examples]
The which command in Linux returns the pathname of a file in the given environment. It takes command/s as arguments and searches for the corresponding name in the $PATH environment variable of executable files. In this article, I will present you various applications of the which command with practical examples.
A. Description
The which command can locate a command if it is passed as an argument.
B. Syntax
Note: In the syntax above, the OPTION enclosed by square brackets means it is not mandatory and three dots after the filename means multiple filenames can be used at a time.
C. Options
The which command has only one option. You will find the description for this option below.
You can learn more about the which command by checking its man page.
Note: Commands and their options are case-sensitive in Linux. So, be careful while using them.
Practical Examples of the “which” Command in Linux
There are multiple ways of using the which command to find the pathname of a command. In this section, you will find some practical examples of which command.
Example 1: Locating a Single Command Using the “which” Command in Linux.
Using the which command you can locate any specific command. In this example, I will show you the location of the touch command. You can do the same by following the steps below.
Steps to Follow:
➊ At first open the Ubuntu Terminal.
➋ Type the following command in the command prompt:
➌ Now, press the ENTER button.
In this given image, you can see that I have printed the location of the touch command.
Note: The which command does not work on Shell Built-in commands. Hence, it will not show any output for the Shell Built-in commands.
Similar Readings
- The “man” Command in Linux [6 Practical Examples]
- The “history” Command in Linux [6 Practical Examples]
- The “cal” Command in Linux [7 Practical Examples]
- The “bc” Command in Linux [10+ Practical Examples]
Example 2: Locating Multiple Commands Using the “which” Command in Linux.
You can find the location of multiple commands using the which command. To do so you will just need to provide the list of commands after the which. In this example, I will find out the locations of the date, touch, and wget commands. You can follow the steps below to do the same.
Steps to Follow:
➊ At first launch the Ubuntu Terminal.
➋ Type the following command in the command line:
➌ Press the ENTER button.
In the image below, you can see that I have shown the location of all the desired commands.
Example 3: Listing All Available Locations of a Command Using the “which” Command in Linux.
Using the which command with the -a option, you can display all the pathnames of a command. In this example, I will show you all the locations of the touch command. You can do the same by following the steps below.
Steps to Follow:
➊ Open the Ubuntu Terminal.
➋ Type the following command in the command prompt:
➌ Hit the ENTER button.
In the given image, you can see that I have printed all the locations of the touch command.
Conclusion
In this article, I have tried to illustrate the frequent uses of the which command in Linux. The examples will help you to find locations of one or more commands at a time. I hope you had fun learning these practical examples that might lead you to become a power user of Linux.
Similar Readings
- The “neofetch” Command in Linux [12+ Practical Examples]
- The “tree” Command in Linux [14 Practical Examples]
- The “whatis” Command in Linux [12 Practical Examples]
- The “whereis” Command in Linux [10 Practical Examples]
- The “at” Command in Linux [7 Practical Examples]
- The “tee” Command in Linux [4 Practical Examples]