Sie haben eben eine Datei angelegt, aber locate zeigt sie nicht an.
Was ist der naheliegendste Grund?
locate ist nur für das Aufspüren von Verzeichnissen geeignet; für Dateien ist find zuständig.
Nur root darf locate ausführen.
locate findet Dateien erst nach einem Dateisystem-Check mit fsck.
locate benutzt eine Datenbank, die erst aktualisiert werden muss.
locate ist nicht installiert.
LPI-Lernziel Systemdateien finden und Dateien am richtigen Ort platzieren (104.7)
locate ist so schnell, weil es nicht das ganze Dateisystem nach
einem gesuchten Dateinamen abgrast, sondern auf eine vorher angelegte
Datenbank zurückgreift, die sämtliche existierenden Dateinamen zum
Zeitpunkt des Anlegens enthält. Diese Datenbank muss in periodischen
Abständen aktualisiert werden (etwa täglich); Dateien, die seit der
letzten Aktualisierung neu dazugekommen sind, sind für locate unsichtbar.
Die richtige Antwort ist also 4. (Umgekehrt kann locate aber auch
Dateinamen anzeigen, die zu Dateien gehören, die seit der letzten
Aktualisierung gelöscht wurden. Ausgleichende Gerechtigkeit.)
Was die anderen Antworten angeht: locate darf normalerweise von
jedem Benutzer ausgeführt werden (Antwort 2) und nimmt sogar nicht
einmal Rücksicht darauf, ob der betreffende Benutzer überhaupt auf die
Datei zugreifen darf. (Das ist eine potentielle Sicherheitslücke.)
locate findet alles, was einen Namen im Dateisystem hat, nicht nur
Verzeichnisse (Antwort 1), sondern auch Named Pipes, Gerätedateien
und ähnliches, solange diese Objekte in Verzeichnissen steht, die
tatsächlich in die Datenbank aufgenommen wurden. Ein Dateisystem-Check
(Antwort 3) ist auch nicht nötig, bevor Sie locate benutzen
können; wie jedes andere Programm (mit der möglichen Ausnahme von
fsck) verläßt es sich implizit darauf, dass die Dateisysteme in
einem vernünftigen Zustand sind. Sollte locate gar nicht installiert
sein (Antwort 5), dann sollte es Sie auch nicht anschweigen, sondern
die Shell sollte Ihnen ein command not found präsentieren -- ansonsten
sind Sie sowieso in Schwierigkeiten.
Nicht angemeldet