Entdecken Sie die Verwendung des "whereis"-Befehls in Linux und BSD, komplett mit Beispielen
17:31, 12.12.2023
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:
- Fehlersuche. Die Kenntnis des Ortes der Binär- oder Quelldateien eines Befehls kann helfen, die Probleme mit diesem Befehl zu identifizieren.
- Skripting. Beim Schreiben von Skripten, insbesondere von solchen, die auf verschiedenen Systemen laufen sollen, ist es wichtig, den richtigen Pfad zum Befehl anzugeben.
- 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. |