If you look at the 'updatedb' script, you'll even find that it uses the 'find' command to build the static database. Normally the database is rebuilt only once per/day -- in the wee hours of the morning if your computer is on then otherwise, it'll run soon after you turn it on in the morning (in the default configuration). As Jagadeesh says, locate is much faster -- basically being a "grep" through a large text database, but it doesn't contain all the same info as 'find' can access and is only up-to-date from when it was last run...
linda
Jagadeesh Bhaskar P wrote:
On Mon, 2004-11-22 at 22:22, Ankit Jain wrote:
Which is more efficient? /if both perform the same
work and are not different then why shoudl we have 2 ?
As far as I know, locate is based on a database storing locations of file. It doesnot search physically throughout the directory hierarchy. So it is many a time faster. But you have to update the database periodically with an "updatedb" command. Otherwise even error locations may be the result.
Find doesnt depend on any such databases. It searches throughout the
directory hierarchy. This case results are always more reliable, but
mostly slow.
It can be seen by "finding" a file from the "/" and "locating" the same.
I think that trade-off enough a reason!!
- To unsubscribe from this list: send the line "unsubscribe linux-newbie" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.linux-learn.org/faqs
