Der Befehl whereis zeigt dir den Speicherort von Binärdateien, Quelldateien und Manpages eines Programms. Anders als which, das nur die ausführbare Datei findet, liefert whereis alle zugehörigen Dateien auf einen Blick.

Syntax

whereis [OPTIONEN] BEFEHL...

Ohne Optionen durchsucht whereis vordefinierte Verzeichnisse nach allen drei Dateitypen: Binärdatei, Quelldatei und Manpage.

Suchverzeichnisse anzeigen

Mit -l siehst du, welche Verzeichnisse whereis durchsucht:

whereis -l

Die Ausgabe zeigt alle Pfade, die whereis standardmäßig prüft.

Grundlegende Verwendung

Finde alle Dateien zum Befehl bash:

whereis bash
bash: /bin/bash /etc/bash.bashrc /usr/share/man/man1/bash.1.gz

Die Ausgabe enthält drei Teile:

  • /bin/bash – die ausführbare Binärdatei
  • /etc/bash.bashrc – eine Quelldatei (Konfiguration)
  • /usr/share/man/man1/bash.1.gz – die Manpage

Existiert ein Befehl nicht, gibt whereis nur den Namen ohne Pfade aus.

Mehrere Befehle abfragen

Du kannst mehrere Befehle in einem Aufruf übergeben:

whereis netcat uptime
netcat: /bin/netcat /usr/share/man/man1/netcat.1.gz
uptime: /usr/bin/uptime /usr/share/man/man1/uptime.1.gz

Nur bestimmte Dateitypen suchen

Nur Binärdateien finden

Mit -b suchst du ausschließlich nach der ausführbaren Datei:

whereis -b ping
ping: /bin/ping

Wenn du nur den Pfad zur Binärdatei brauchst, ist which oft die bessere Wahl – es gibt den Pfad ohne Präfix aus.

Nur Manpages finden

Mit -m findest du die Dokumentation:

whereis -m grep

Nur Quelldateien finden

Mit -s suchst du nach Quelldateien:

whereis -s bash

Die Ausgabe zeigt nur Quelldateien, falls vorhanden.

Suche auf bestimmte Verzeichnisse einschränken

Du kannst die Suche auf eigene Verzeichnisse beschränken. Verwende dafür:

  • -B für Binärdateien
  • -M für Manpages
  • -S für Quelldateien

Nach der Verzeichnisliste markiert -f den Beginn der Befehlsnamen:

whereis -b -B /bin -f cp
cp: /bin/cp

Dieser Aufruf sucht die Binärdatei von cp ausschließlich in /bin.

Ungewöhnliche Einträge finden

Die Option -u findet Befehle mit ungewöhnlicher Dateikonstellation – etwa Binärdateien ohne Manpage oder mit mehreren Dokumentationen.

Beispiel: Alle Dateien in /bin ohne Manpage finden:

cd /bin && whereis -m -u *

Das Sternchen (*) steht für alle Dateien im aktuellen Verzeichnis.

Zusammenfassung

OptionBeschreibung
-lZeigt die durchsuchten Verzeichnisse
-bSucht nur nach Binärdateien
-mSucht nur nach Manpages
-sSucht nur nach Quelldateien
-BLegt Suchverzeichnis für Binärdateien fest
-MLegt Suchverzeichnis für Manpages fest
-SLegt Suchverzeichnis für Quelldateien fest
-fMarkiert den Beginn der Befehlsnamen
-uFindet Einträge mit ungewöhnlicher Dateikonstellation

Der Befehl whereis ist nützlich, wenn du wissen willst, wo ein Programm installiert ist und ob Dokumentation vorhanden ist. Für die reine Pfadabfrage einer Binärdatei ist which schneller und direkter.