Linux whereis Befehl erklärt für Anfänger (5 Beispiele)
Manchmal, während wir auf der Kommandozeile arbeiten, müssen wir nur schnell den Speicherort der Binärdatei für einen Befehl herausfinden. Ja, der Befehl find ist in diesem Fall eine Option, aber er ist etwas zeitaufwendig und wird wahrscheinlich auch einige unerwünschte Ergebnisse liefern. Es gibt einen speziellen Befehl, der für diesen Zweck entwickelt wurde: whereis.
In diesem Artikel werden wir die Grundlagen dieses Befehls anhand einiger leicht verständlicher Beispiele diskutieren. Aber bevor wir das tun, ist es erwähnenswert, dass alle Beispiele in diesem Tutorial auf Ubuntu 16.04LTS getestet wurden.
Linux whereis Befehl
Mit dem Befehl whereis können Benutzer Binär-, Quell- und manuelle Seitendateien für einen Befehl finden. Folgendes ist seine Syntax:
whereis [options] [-BMS directory... -f] name...
Und so erklärt es die Man Page des Tools:
whereis locates the binary, source and manual files for the specified command names. The supplied names are first stripped of leading pathname components and any (single) trailing extension of the form .ext (for example: .c) Prefixes of s. resulting from use of source code control are also dealt with. whereis then attempts to locate the desired program in the standard Linux places, and in the places specified by $PATH and $MANPATH.
Die folgenden Beispiele im Q&A-Stil sollen Ihnen einen guten Eindruck davon vermitteln, wie der whereis-Befehl funktioniert.
Q1. Wie findet man den Speicherort der Binärdatei mit whereis?
Angenommen, Sie möchten den Speicherort für den whereis-Befehl selbst finden. Dann ist hier, wie du das machen kannst:
whereis whereis
Beachten Sie, dass der erste Pfad in der Ausgabe das ist, wonach Sie suchen. Der Befehl whereis erzeugt auch Pfade für Manualseiten und Quellcode (falls vorhanden, was in diesem Fall nicht der Fall ist). Der zweite Pfad, den Sie in der obigen Ausgabe sehen, ist also der Pfad zu den whereis-Handbuchdateien.
Q2. Wie kann man gezielt nach Binärdateien, Handbüchern oder Quellcode suchen?
Wenn du gezielt nach, z.B. binär, suchen möchtest, dann kannst du die Kommandozeilenoption -b verwenden. Zum Beispiel:
whereis -b cp
Ebenso werden die Optionen -m und -s verwendet, wenn Sie Handbücher und Quellen finden möchten.
Q3. Wie kann man die Whereis-Suche nach Anforderung einschränken?
Standardmäßig versucht whereis, Dateien aus fest programmierten Pfaden zu finden, die mit Glob-Mustern definiert sind. Wenn Sie möchten, können Sie die Suche jedoch durch bestimmte Befehlszeilenoptionen einschränken. Wenn Sie z.B. nur nach Binärdateien in /usr/bin suchen möchten, können Sie dies mit der Befehlszeilenoption -B tun.
whereis -B /usr/bin/ -f cp
Hinweis: Da Sie auf diese Weise mehrere Pfade übergeben können, beendet die Befehlszeilenoption -f die Verzeichnisliste und signalisiert den Beginn von Dateinamen.
Wenn Sie die manuelle oder Quellsuche einschränken möchten, können Sie auch die Befehlszeilenoptionen -M und -S verwenden.
Q4. Wie kann man Pfade anzeigen, die whereis für die Suche verwendet?
Es gibt auch dafür eine Option. Führen Sie einfach den Befehl mit -l aus.
whereis -l
Hier ist die Liste (teilweise), die sie für uns erstellt hat:
Q5. Wie findet man Befehlsnamen mit ungewöhnlichen Einträgen?
Für whereis wird ein Befehl ungewöhnlich, wenn er nicht nur einen Eintrag jedes explizit angeforderten Typs hat. Beispielsweise gelten Befehle ohne verfügbare Dokumentation oder solche mit Dokumentation an mehreren Stellen als ungewöhnlich. Die Befehlszeilenoption -u bewirkt, dass bei Verwendung die Befehlsnamen mit ungewöhnlichen Einträgen angezeigt werden.
Der folgende Befehl sollte beispielsweise Dateien im aktuellen Verzeichnis anzeigen, die keine oder mehr als eine Dokumentationsdatei enthalten.
whereis -m -u *
Fazit
Einverstanden, whereis ist nicht die Art von Kommandozeilenprogramm, die Sie sehr häufig benötigen werden. Aber wenn die Situation eintritt, macht es dir das Leben definitiv leichter. Wir haben einige der wichtigsten Befehlszeilenoptionen behandelt, die das Tool bietet, also üben Sie sie. Weitere Informationen findest du auf der Man Page.