up vote 2 down vote favorite
2
share [g+] share [fb]

I'm trying to use locate to find files, but I'm not getting anything back from the program. It can't even find files that are in the current directory. How do I make locate work?

link|improve this question

65% accept rate
use sudo updatedb ? – TuxGeek Nov 23 '09 at 12:50
feedback

migrated from stackoverflow.com Nov 23 '09 at 12:36

This question came from our site for professional and enthusiast programmers.

3 Answers

up vote 2 down vote accepted

In essence, you have to run updatedb first, as this builds the database that locate uses.
Simply do updatedb --localpaths=c:/ as a first shot solution.

See this blog post for a bunch of good tips , including how to setup up updatedb via cygwin cron: http://www.weiqigao.com/blog/2006/08/14/ten_steps_to_higher_cygwin_productivity.html

Google 'cygwin updatedb' for a relevant post if you are having trouble with paths that include spaces. I am not getting any trouble (other than permission denied) on WinXP Pro, but other platforms may require this.

link|improve this answer
feedback

To use locate you need to run updatedb first.

link|improve this answer
feedback

I think the command you want is find

Do man find to see the syntax and options

The locate command runs against a pre-built database of filenames

link|improve this answer
Yes, locate runs against a pre-built database. Why does that mean the OP wants find instead? – CarlF Nov 23 '09 at 15:01
Find will at least do the job that is being requested if locate is not present or for what-ever reason not functioning. More slowly, as it won't have the pre-prepared data to search, but it will work and the results are more likely to be properly uptodate and complete (updatedb may have been configured to exclude some parts of the filesystem). – David Spillett Apr 22 '10 at 13:06
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.