Hallo! Am Sonntag, 7. März 2004 21:47 schrieb Joerg Rossdeutscher:
Jede Nacht läuft auf deinem Rechner "updatedb" und erstellt eine Datenbank mit allen Dateien. Diese kannst du einfach durchsuchen mit
locate meinedatei
das dauert nur Bruchteile von Sekunden.
Wenn ich häufiger hintereinander eine Suche starte, und sonst nichts mache, ist die zweite, ... Suche auch immer deutlich schneller als die erste. Anscheinend behält das Betriebssystem dann die Daten in irgendeinem Cache,
Das klappt natürlich nur, wenn die Datei beim letzten Lauf von updatedb auch schon vorhanden war. Da updatedb aber auch nichts anderes macht als du mit deinem find, ist es cleverer, eine zweite Shell aufzumachen, dort als root*) "updatedb" aufzurufen (dauert genau so lange wie dein "find") und danach mit "locate" zu suchen. Wenn du nämlich eine zweite (, dritte, vierte,...) Suchze startest, brauchst nur Sekundenbruchteile, statt das Filesystem nochmal komplett zu durchforsten. Und wenn die gesuchte Datei schon länger da ist, spartst du das updatedb sogar komplett. Ist immer einen Versuch wert.
*) Zur Ausführung als root: Ich will nix falsches erzählen, auf meinem nicht-Suse-System ist das so. Guck lieber mal in /etc/cron*/updatedb, ob das bei Suse auch so gehandhabt wird.
Gruß, Ratti
P.S.: locate verwendet keine Pattern. Also /nicht/ eingeben:
locate "*gesucht*" sondern einfach locate gesucht
Wenn das zuviel findet, kannst du mit "|grep..." verfeinern.
-- ------------------------------------------------------------------------------------ Thilo Gramlich Thilo (a dot) Gramlich (an at symbol) aktivanet (a dot) de