which
Findet die ausführbare Binärdatei des Programms (falls sie sich in Ihrem PATH befindet). man which
erklärt deutlicher:
Dies gibt die Pfadnamen der Dateien (oder Links) zurück, die in der aktuellen Umgebung ausgeführt werden würden, wenn die Argumente als Befehle in einer streng POSIX-konformen Shell angegeben worden wären. Dazu durchsucht es den Pfad nach ausführbaren Dateien, die mit den Namen der Argumente übereinstimmen. Es folgen keine symbolischen Links.
whereis
Findet die Binär-, Quell- und Manpage-Dateien für ein Programm. Beispielsweise
$ whereis gimp
/usr/bin/gimp /usr/lib/gimp /etc/gimp /usr/share/gimp /usr/share/man/man1/gimp.1.gz
Sie können zusätzliche Details erhalten, indem Sie die Ausgabe dieser Befehle als Argumente an ls -l
oder übergebenfile
$ ls -l $(which gimp)
lrwxrwxrwx 1 root root 8 Jun 30 19:59 /usr/bin/gimp -> gimp-2.8
$ file $(which gimp)
/usr/bin/gimp: symbolic link to gimp-2.8
locate
findet in der Tat alle Dateien, die das angegebene Muster irgendwo in ihren Pfaden haben. Sie können festlegen, dass nur Dateien und Verzeichnisse gefunden werden sollen, deren Namen (anstelle vollständiger Pfade) das Muster mit der -b
Option enthalten, die normalerweise gewünscht wird, und eine weniger unhandliche Liste enthält.
locate
ist schnell, weil es eine binäre Datenbank verwendet, die regelmäßig aktualisiert wird (einmal täglich von cron
). Sie können es selbst aktualisieren, um sicherzustellen, dass kürzlich hinzugefügte Dateien gefunden werdensudo updatedb
Noch etwas locate
: Es ist egal, ob noch Dateien vorhanden sind oder nicht. Um zu vermeiden, dass kürzlich gelöschte Dateien gefunden werden, verwenden Sie -e
. Oft pfeife ich auch zu, less
da die Liste lang sein kann. Normalerweise mache ich:
sudo updatedb && locate -b -e gimp | less
Die Funktionsweise von Unitys Dash wird hier erläutert. Mithilfe von Zeitgeist werden Systemdateien indiziert und anhand von Verwendungsmustern gelernt. Außerdem können andere Anwendungen diese Daten verwenden locate
.
type
? : P