Was ist der Unterschied zwischen locate
und which
?
locate
verwendet eine zuvor erstellte Datenbank, um die Datei zu finden.
locate
liest eine oder mehrere Datenbanken, die vonupdatedb
(8) vorbereitet wurden, und schreibt Dateinamen, die mindestens einem der PATTERN entsprechen, in die Standardausgabe, einen pro Zeile.
Quellensuche (1) - Linux-Manpage
updatedb
erstellt oder aktualisiert eine vonlocate
(1) verwendete Datenbank . Wenn die Datenbank bereits vorhanden ist, werden ihre Daten erneut verwendet, um ein erneutes Lesen der Verzeichnisse zu vermeiden, die sich nicht geändert haben.
updatedb
wird normalerweise täglich voncron
(8) ausgeführt, um die Standarddatenbank zu aktualisieren (/var/lib/mlocate/mlocate.db
)
Quelle aktualisiertb (8) - Linux-Manpage
which
sucht nach einer ausführbaren Datei, indem Sie in den Verzeichnissen in der PATH
Umgebungsvariablen danach suchen .
which
nimmt ein oder mehrere Argumente. Für jedes seiner Argumente wirdstdout
der vollständige Pfad der ausführbaren Dateien ausgegeben, die ausgeführt worden wären, wenn dieses Argument an der Shell-Eingabeaufforderung eingegeben wurde. Dazu wird in den in der Umgebungsvariablen aufgeführten Verzeichnissen nach einer ausführbaren Datei oder einem Skript gesuchtPATH
.
unter Verwendung desselben Algorithmus wie bash
(1).
Quelle, die (1) - Linux-Manpage
locate mentor
listet Mentor auf, which mentor
sagt aber "kein Mentor in ..."
Was bedeutet das?
Sie haben einige benannte Dateien mentor
, die in der locate
Datenbank gefunden werden können.
Sie haben keine ausführbare Datei oder kein Skript mentor
in Ihrem PATH
.