Linux / Befehl whereis: Finden Sie Binärdateien, Quellcode und Handbuchseiten

Der whereis Befehl findet Binärdateien, Quelldateien und Handbuchseiten, die mit einem Programmnamen verbunden sind. Im Gegensatz zu which, das sich auf PATH-Executables konzentriert, kann whereis mehrere verwandte Dateitypen in einer Abfrage melden.

Die util-linux-Implementierung erstellt ihre Suchorte aus bekannten Systempfaden und Umgebungsinformationen. Sie durchsucht nicht rekursiv das gesamte Dateisystem, sodass benutzerdefinierte Installationsbäume und beliebige Benutzerverzeichnisse fehlen können, es sei denn, die Suchpfade werden überschrieben.

Ergänzende Befehle und Anwendungsfälle finden Sie in Essenzielle Linux-Befehle: Ein praktisches Nachschlagewerk nach Aufgabe.

Grundlegende Syntax

whereis [OPTION]... NAME...

Optionen und Randfälle können je nach Implementierung und Version variieren. Überprüfen Sie whereis --help und man whereis auf dem Zielsystem, bevor Sie sich auf implementierungsspezifisches Verhalten verlassen.

Grundlegende Verwendung von whereis

Alle zugehörigen Speicherorte finden

Die Ausgabe kann Binär- und Handbuchpfade in einer Zeile enthalten.

whereis bash

Nur nach Binärdateien suchen

Verwenden Sie -b, um den ausgewählten Dateityp einzuschränken.

whereis -b ssh

Nur nach Handbüchern suchen

Verwenden Sie -m, um Handbuchseiten-Dateien zu finden.

whereis -m printf

Unterscheidung zwischen Binär- und Handbuchstandorten

whereis sucht nach Standardstandorten von ausführbaren Dateien, Handbüchern und verwandten Elementen anhand des Namens. Es durchsucht nicht rekursiv die gesamte Festplatte.

whereis ls

Beispielausgabe (Installationspfade variieren je nach Umgebung):

ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz

Der erste Pfad ist die ausführbare Datei, und der zweite Pfad ist die Handbuchdatei. Wenn Sie den ausführbaren Pfad, den die aktuelle Shell tatsächlich auswählt, wissen möchten, verwenden Sie type oder command -v.

Wichtige Optionen

Option Zweck
-b Nach Binärdateien suchen.
-m Nach Handbuchseiten suchen.
-s Nach Quelldateien suchen.
-B DIRS -f Verzeichnisse für die Binärsuche festlegen.
-M DIRS -f Verzeichnisse für die Handbuchsuche festlegen.
-S DIRS -f Verzeichnisse für die Quellensuche festlegen.
-u Ungewöhnliche Einträge für die ausgewählten Suchtypen melden.
-l Liste effektiver Suchpfade.

Praktische Beispiele

Liste effektiver Suchpfade

Verwenden Sie dies zuerst, wenn ein Ergebnis fehlt oder unerwartet ist.

whereis -l

Benutzerdefinierte Binärpfade verwenden

Der -f-Marker beendet die Verzeichnisliste und beginnt die Programmnamen.

whereis -B /usr/local/bin /opt/tools/bin -f mytool

Vergleichen Sie Shell-Auflösung und verwandte Dateien

Überprüfen Sie, was die Shell ausführt, getrennt davon, wo verwandte Dateien gespeichert sind.

command -v python3
whereis python3

whereis und verwandte Befehle

Befehl Hauptrolle Geeignet für
whereis Bekannte verwandte Dateispeicherorte durchsuchen Binärdateien, Quelltext und Handbücher
which Durchsuche PATH-Executables Externer Befehls-Pfad
type Shell-Befehlsformen klassifizieren Aliase, Funktionen und eingebaute Befehle
find Beliebige Pfade durchsuchen Benutzerdefinierte Speicherorte und komplexe Tests

Wichtige Hinweise

Es handelt sich nicht um eine Vollfestplattensuche

Dateien außerhalb der effektiven Suchpfade können ausgelassen werden.

Geben Sie Programmnamen anstelle beliebiger Pfade an

Führende Pfadkomponenten und erkannte Endungen werden gemäß den Namensregeln der Implementierung behandelt.

Denken Sie an -f nach benutzerdefinierten Pfadlisten

Ohne das Trennzeichen können Verzeichnis- und Programmnamenoperanden anders interpretiert werden als beabsichtigt.

FAQ

Sucht whereis nur im PATH?

Nein. Es verwendet standardmäßige Binär-, Quell- und Handbuchorte sowie relevante Umgebungswege.

Warum fehlt eine benutzerdefinierte Installation?

Ihr Verzeichnis ist möglicherweise nicht im effektiven Suchsatz enthalten. Listen Sie die Suchpfade auf oder überschreiben Sie die Suchpfade.

Wie kann ich die Suchpfade sehen?

Die Version von util-linux unterstützt whereis -l.

Wie kann ich das gesamte Dateisystem durchsuchen?

Verwenden Sie find für eine Live-Durchsuchung oder locate für eine indizierte Namenssuche.

Weitere Angaben zu Syntax, Implementierung und Verfügbarkeit finden Sie unter util-linux whereis Handbuchseite.