Skip to main content

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 :
          
          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

      or 

      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

Locate :

          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

     or

     $ sudo /usr/libexec/locate.updatedb 

     When we run the locate command, the output will be as :

      sh-3.2# locate installer

       /usr/sbin/installer
       /usr/share/man/man8/installer.8


Comments

Popular posts from this blog

How to find firmware or boot ROM version in Mac OS X

Firmware and boot ROM version of your mac can be found in two ways.
Way 1 :
1. From "Apple" menu , choose "About This Mac" menu item. 2. Click " More Info " to open "System Profiler" application. 3. Under Contents -> Select Hardware Tree item.
On the right side panel Under hardware overview section, we can see Boot ROM Version and SMC (Firmware) Version.








Way 2 :
Run the below command in terminal to get boot ROM version and SMC(firmware) version :
$ system_profiler SPHardwareDataType | grep -i "Version" | awk -F ':' '{print $1 $2}'

How to disable USB ports on Mac OS X Mavericks, Yosemite or El Capitan ?

We might wonder how to disable the USB ports on Mac to prevent data copy to external USB mass storage devices. The USB kext on os x is loaded at the time of start of the system, this can be loaded / unloaded using kextload or kextunload command. To disable USB port on Mac , follow below steps:
On Macs running Mountain Lion, Mavericks  and Yosemite:
Unmount any connected USB devices to the system by running below command                  $diskutil unmount /Volumes/USBDISK.Now unload the USB related kernel extensions in the following order using kextunload command.sudo kextunload -b com.apple.driver.AppleUSBCardReader
sudo kextunload -b com.apple.driver.AppleUSBODD
sudo kextunload -b com.apple.iokit.IOUSBMassStorageClass

       This will unload the USB kext and disable the USB ports for storage devices on Mountain Lion, Mavericks  and Yosemite.
On Mac running El Capitan:
Unmount any connected USB devices to the system by running below command                  $diskutil unmount /Volumes/USBDI…