Beginning with version 10.4 (“Tiger”), Mac OS X has had a powerful indexing and search engine built in. This can be used from the graphical interface, which is how most mac users interact with it. However, a command-line interface allows for some powerful searching and scripting.
Just as an example, to find text in any file on the system with
grep, you’d have to do something like:
find / | xargs grep "my search string"
This would run
grep on every file in the system, which is horribly inefficient and will take forever. With
mdfind, you’d simply type:
mdfind "my search string"
This will use the existing search database to find the appropriate documents.
(N.B. – Spotlight cannot actually do a “phrase” search like the find/grep example above. See this story for more detail and some work-arounds.)