Eine sehr schnelle Alternative dazu ist
locate
. Es ermittelt wie
find
Textmuster in Datei- oder Pfadnamen. Dabei ergänzt es anders als
find
übrigens implizit immer das Sternchen als Globbing Character vor und nach dem Suchbegriff (*PATTERN*). Das heißt, das Muster wird nicht nur als eigenständiges Wort, sondern überall auch innerhalb anderer Worte gefunden. Das ist nicht immer günstig. Will man das nicht haben, dann muss man mit
--regex
den RegEx-Mode einschalten.
Locate visitiert bei seiner Suche allerdings nicht wie
find
immer wieder das ganze Filesystem, sondern nur eine Indexdatenbank, die das Tool
updatedb
anlegt und crongesteuert in der Regel täglich aktualisiert. Nachteil: Ist es bis zu dieser täglichen Aktualisierung noch eine Weile hin, dann kennt locate ein eben angelegtes File noch nicht oder zeigt ein bereits gelöschtes File immer noch an. Vorteil: Da
locate
nur diesen Index durchsucht, ist es um ein Vielfaches schneller. Im Beispiel braucht es nur eine halbe Sekunde, wo find über vier Minuten rödelt, obwohl es nur auf Verzeichnisnamen losgelassen wurde.
root@hercules:~# time find / -name cron.daily -type d /etc/cron.daily real 4m19.706s user 0m4.916s sys 0m15.309s root@hercules:~# time locate cron.daily /etc/cron.daily ... real 0m0.567s user 0m0.560s sys 0m0.008s