Wie verwende ich locate in cygwin?


14

Ich versuche, locateDateien zu finden, erhalte aber nichts vom Programm zurück. Es kann nicht einmal Dateien finden, die sich im aktuellen Verzeichnis befinden. Wie mache ich locateArbeit?


Verwenden Sie sudo updatedb?
Ukanth

Antworten:


15

Im Wesentlichen müssen Sie zuerst updatedb ausführen, da hierdurch die Datenbank erstellt wird, die von locate verwendet wird.
Führen Sie einfach updatedb --localpaths = c: / als erste Einstellungslösung aus.

In diesem Blog-Beitrag finden Sie einige gute Tipps, einschließlich der Einrichtung von updatedb über cygwin cron: https://web.archive.org/web/20061114000822/www.weiqigao.com/blog/2006/08/14/ten_steps_to_higher_cygwin_productivity .html (aktualisierter Link zu archive.org)

Google 'cygwin updatedb' für einen relevanten Beitrag, wenn Sie Probleme mit Pfaden haben, die Leerzeichen enthalten. Ich bekomme keine Probleme (außer der Verweigerung der Erlaubnis) auf WinXP Pro, aber andere Plattformen erfordern dies möglicherweise.


5
Der Blogpost hat eine neue Adresse: webpages.charter.net/weiqigao/2006/08/14/…
Stefan Rasmusson

Ich habe festgestellt, dass ein einfacher Aufruf von updatedb in Cygwin nicht funktioniert, da die Standardoptionen (oder --localpaths = c: /) dazu führen, dass Links in Endlosschleifen eingebunden werden. Ich denke, das liegt daran, dass bestimmte Arten von Windows 7-Links nicht als symbolische Links zu Cygwin angezeigt werden, sodass sie nicht übersprungen werden können (wie es die Standardeinstellung für das Verhalten "Follow" (entgegen der Intuition) vorsieht)
Phil Goetz

Der Blogpost ist nicht erreichbar. Es wäre besser, seinen Rat hier einzutragen.
Reinierpost

1
Danke @reinierpost, den Link behoben. Der Beitrag ist zu lang, um inline zu sein, IMHO.
Dirkjot


-1

Ich denke, der Befehl, den Sie wollen, ist find

Tun man find, um die Syntax und die Optionen zu sehen

Der Befehl locate wird für eine vorgefertigte Datenbank mit Dateinamen ausgeführt


Ja, locate wird für eine vorgefertigte Datenbank ausgeführt. Warum bedeutet das, dass das OP stattdessen suchen möchte?
CarlF

1
Find erledigt zumindest die angeforderte Aufgabe, wenn locate nicht vorhanden ist oder aus irgendeinem Grund nicht funktioniert. Langsamer, da die vorbereiteten Daten für die Suche nicht zur Verfügung stehen, diese jedoch funktionieren und die Ergebnisse mit höherer Wahrscheinlichkeit auf dem neuesten Stand und vollständig sind (updatedb wurde möglicherweise so konfiguriert, dass einige Teile des Dateisystems ausgeschlossen werden).
David Spillett
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.