The "locate" utility allows you to search a database of files that are located on your filesystem. The locate database is usually rebuilt every night by a cron job on most Linux distros. Since the "locate" utility is searching a database of files instead of the actual filesystem, you can do searches on the entire filesystem (from / on down) very quickly. The downside to using "locate" is that files created since the last rebuild of the locate database (last night) won't show up in your results... So it helps to know a little bit about what you are looking for to know whether to use "locate" or "find".

Let's Play

locate all of the png images on your hard disk

locate *.png
locate all of the files that have the string "haskell" in their path
locate haskell

"locate" is not nearly as powerful as find when it comes to searching for a very specific file, but it is very fast at returning the results. You can use something like the -e switch (only show files that exist on the disk now) with locate and pipe the results to grep for a little more fine grained search based on the filename and path.