There may be times when you know a file or directory exists but you do not know where to find it.
There are several commands you can use to search for it, including find
, locate
, and which
.
The find
command has many options that you can review in man page.
The most common option is -name, which tells find to search for all files and directories with a certain string of letters in their name.
# find / -name ping6
/usr/bin/ping6 /usr/sbin/ping6
With locate
, you can see every file or directory whose name contains the search criterion.
The locate
command uses a database to locate files and directories that have the word "pattern" in the file or directory name.
The search results could include a file called pattern.txt, a file called pointerpattern.txt, a directory named /patternthumbnails/, and so on.
To learn more about locate, read the locate man page.
The locate
command works very quickly, as long as the database is up to date.
That database is automatically updated on a nightly basis through a cron job.
For example, to search for all files with the word ping6 in the name, type:
# locate ping6
/usr/bin/ping6 /usr/sbin/ping6 /usr/share/man/man8/ping6.8.gz
The which
returns the location of binary, or executable, shell commands.
# which ping6
/usr/sbin/ping6
The following command returns the locations of: the binary of ping6, the location of the source code, and the location of the find man page.
# whereis ping6
ping6: /usr/bin/ping6 /usr/sbin/ping6 /usr/share/man/man8/ping6.8.gz
The whatis
command return information about the command from its man page.
# whatis ping6
ping6 (8) - send ICMP ECHO_REQUEST to network hosts
The same way as in CentOS 7
locate
command by default.The same way as in CentOS 7