What is "whatis" and "locate" databases in mac os x? How to Build or Rebuild them ?
On the Mac OS X, Terminal app users can use whatis and locate commands to improve their search experience in the terminal similar to Spotlight.
whatis command gives us the short description about the system commands. To display short description whatis uses its "whatis" database. whatis database is set of database files containing short descriptions of system commands which are commonly used in command line , such as in Terminal app. Mac OS X periodically updates the whatis database on a weekly bases if enabled in periodic.conf file. If whatis database is not built then we can build it with following command
$ sudo /usr/libexec/makewhatis
$ sudo periodic weekly
When we run the whatis command, the output will be as :
$ whatis system_profiler
system_profiler(8) - reports system hardware and software configuration
The locate command provides help in finding or tracking down every instance of a file, filetype, app, extension, things hidden deep in system folders, or just about anything else that Spotlight can’t manage.To use locate we have to build the locate database. The locate database will be generally gets created under /var/db/. Run the below specified commands on periodic basis to update your locate database. Locate database is also used by find utility in searching the file/folders. Locate database can be built by running the following command :
$ sudo launchctl load -w /System/Library/LaunchDaemons/com/apple.locate.plis
$ sudo /usr/libexec/locate.updatedb
When we run the locate command, the output will be as :
sh-3.2# locate installer