Entdecken Sie die Verwendung des "whereis"-Befehls in Linux und BSD, komplett mit Beispielen

Entdecken Sie die Verwendung des "whereis"-Befehls in Linux und BSD, komplett mit Beispielen

12.12.2023
Autor: HostZealot Team
2 min.
165

​Bevor wir uns den praktischen Beispielen zuwenden, ist es wichtig, den "whereis"-Befehl zu verstehen und zu wissen, warum er nützlich ist. Der Befehl "whereis" wird in Linux verwendet, um Binärdateien, Quellcode und Handbuchseiten für einen Befehl zu finden. Er sucht nach Dateien in einem Verzeichnis, was ihn schneller macht als andere Befehle wie "find".

Verstehen des "whereis"-Befehls

Der Befehl "whereis" ist ein Suchwerkzeug, das speziell zum Auffinden von Binär-, Quell- und Manual-Page-Dateien entwickelt wurde. Im Gegensatz zu allgemeinen Suchwerkzeugen arbeitet "whereis" mit einer vordefinierten Gruppe von Verzeichnissen, die üblicherweise zum Speichern von Befehlsdateien verwendet werden. Diese Eigenschaft verleiht "whereis" den Vorteil der Geschwindigkeit und Genauigkeit.

Die Kenntnis des Speicherorts von Befehlsdateien ist in den folgenden Szenarien hilfreich:

  1. Fehlersuche. Die Kenntnis des Ortes der Binär- oder Quelldateien eines Befehls kann helfen, die Probleme mit diesem Befehl zu identifizieren.
  2. Skripting. Beim Schreiben von Skripten, insbesondere von solchen, die auf verschiedenen Systemen laufen sollen, ist es wichtig, den richtigen Pfad zum Befehl anzugeben.
  3. Systemverwaltung. Administratoren müssen oft überprüfen, ob bestimmte Dienstprogramme oder deren Versionen installiert sind. Der Ort, an dem sich ein Programm befindet, kann manchmal seine Version oder Installationsmethode identifizieren.

Spezielle Befehle wie "find" bieten zwar umfangreichere Suchmöglichkeiten, durchsuchen aber das gesamte Dateisystem (oder ein bestimmtes Verzeichnis). Im Vergleich dazu beschränkt "whereis" in Linux die Suche auf eine vordefinierte Liste von Verzeichnissen, von denen bekannt ist, dass sie ausführbare Befehle, Quelldateien und Manpages enthalten. Dieser Ansatz verkürzt die Suchzeit erheblich, insbesondere bei großen Dateisystemen.

Wie man "whereis" unter Linux verwendet

Die Hauptsyntax des Befehls in Linux lautet:

whereis [options] file_name

Der Abschnitt Dateiname in der Syntax sollte die Datei enthalten, die Sie suchen möchten. Um zum Beispiel den Pfad zu ausführbaren Binärdateien, Quellcode und Manpages zu finden, können Sie den Befehl "ls" zur Syntax hinzufügen:

whereis ls

Das Ergebnis des obigen Befehls kann etwa so aussehen:

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

Ermitteln der Position eines Binärzeichens

Wenn Sie eine Linux-Binärdatei suchen müssen, können Sie den Befehl "-b" verwenden:

whereis -b whereis 
whereis: /usr/bin/whereis /usr/bin/X11/whereis

Der genannte Befehl lokalisiert die Binärdatei des "whereis"-Befehls und zeigt die Richtung an, in der der Befehl innerhalb des Linux-Systems verfügbar ist.

Suche nach Man Pages

Zum Auffinden der Manpages wird der Befehl "-m" verwendet:

whereis -m whereis 
whereis: /usr/share/man/man1/whereis.1.gz

Es funktioniert ähnlich wie die Suche nach einer Binärdatei und gibt Ihnen einen Pfad zu einer Manpage innerhalb des Linux-Systems.

Beispiele für die Verwendung von "whereis" in BSD-Systemen

1. Befehle in FreeBSD

Mit whereis können Sie auch nach mehreren Argumenten auf einmal suchen. Hier ist ein Beispiel für bash und nano:

whereis bash nano 
bash: /usr/bin/bash /usr/share/man/man1/bash.1.gz /usr/share/info/bash.info.gz 
nano: /usr/bin/nano /usr/share/nano /usr/share/man/man1/nano.1.gz /usr/share/info/nano.info.gz

Im Beispiel von nano können Sie speziell nach Binärdateien wie folgt suchen:

whereis -b nano nano: /usr/bin/nano /usr/share/nano

Und für manuelle Nanoseiten:

whereis -m nano nano: /usr/share/man/man1/nano.1.gz /usr/share/info/nano.info.gz

Optional können Sie nach mehreren Dingen gleichzeitig suchen, z. B. nach Firefox- und Nano-Binärdateien und manuellen Bash-Seiten:

whereis -bm nano firefox -m bash 
nano: /usr/bin/nano /usr/share/nano /usr/share/man/man1/nano.1.gz /usr/share/info/nano.info.gz firefox-m: 
bash: /usr/bin/bash /usr/share/man/man1/bash.1.gz /usr/share/info/bash.info.gz

2. Bibliotheken in OpenBSD

Nehmen wir an, Sie wollen alle Orte sehen. Mit der Option "-l" erhalten Sie alle Pfade wie folgt:

whereis -l 
bin: /usr/bin 
bin: /usr/sbin 
bin: /usr/lib 
bin: /usr/lib64 
bin: /etc bin: /usr/games 
bin: /usr/local/bin 
bin: /usr/local/sbin 
bin: /usr/local/etc 
bin: /usr/local/lib 
bin: /usr/local/game

Mit dem Befehl "whereis" erhalten Sie also mehrere Pfadübereinstimmungen, einschließlich Bibliotheken.

Tipps und Tricks für die wirksame Verwendung von "whereis"

Hier finden Sie eine Liste von "whereis"-Optionen, die Sie für eine schnelle Anwendung verwenden können:

-b
Binärdateien
-s
Quellen
-m
Handbücher
-u
Ungewöhnliche Einträge. (wenn der Befehl nur einen Eintrag des gewünschten Typs enthält).
-B (list)
Schränken Sie die Suchorte für Binärdateien ein.
-S (list)
Schränken Sie die Suchorte für Quellen ein.
-M (list)
Schränken Sie die Suchorte für Handbücher und Dokumentationen ein.
-f
Sucht nach den Dateinamen. (Sollte mit einer der Optionen -B, -S oder -M verwendet werden).
-l
Listet alle Suchpfade auf.
Verwandte Artikel