Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

In windows there is a pretty good search tool named Everything, which can let us search files by name. It's very fast, and easy to use.

Now I wonder if there is any similar tool in Linux? Command line or GUI are both fine, but the most important thing is fast.

share|improve this question

1 Answer 1

up vote 5 down vote accepted

If you're just looking for file names, locate is pretty standard on Linux systems, although your distro might not have it installed by default.

$ locate vmlinuz
/vmlinuz
/vmlinuz.old
/boot/vmlinuz-2.6.35-28-generic
/boot/vmlinuz-2.6.35-30-generic

locate relies on a database of existing files which is normally updated nightly by a cron job, so its results are more-or-less instant.

If you need up-to-the-second results, you can instead use find, but it will take a while because it goes through the filesystem reading and examining every file present.

$ find / -name \*vmlinuz\*

will eventually return the same results, plus many "permission denied" errors if you're not running it as root. Note that the first argument to find is the directory to look in (including subdirectories), so you can limit it to only a part of the filesystem to speed things up considerably if you have some idea of where the target file(s) might be.

share|improve this answer
    
Everything uses the journal and changelog of NTFS to locate the files almost instantly. Find is extremely slow compared to that. So what he needs is probably some version of locate coupled with something hooked to the ext3/4 journal. Not sure if anyone bothered. –  D.Iankov Sep 1 '11 at 11:21

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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