Die Befehle „which“, „whereis“ und „whatis“ mögen für einen Linux-Neuling ähnlich klingen, sind aber unterschiedlicher, als Sie vielleicht denken.
Möglicherweise haben Sie die Befehle „which“, „whereis“ und „whatis“ unter Linux mehrmals verwendet. Alle drei Befehle helfen Ihnen, Informationen zu anderen Linux-Befehlen zu finden. Diese Befehle sehen ähnlich aus, weisen jedoch einige Unterschiede auf.
Hier finden Sie einen detaillierten Vergleich der Befehle „which“, „whereis“ und „whatis“ unter Linux.
Der which-Befehl
Einige Befehle verfügen über mehrere ausführbare Binärdateien, die sich in verschiedenen Verzeichnissen befinden. Wenn Sie einen Befehl ausführen, sucht die Shell in den Verzeichnissen, die in der Umgebungsvariablen PATH angegeben sind, nach seinen ausführbaren Dateien.
Um herauszufinden, welche Verzeichnisse in der Umgebungsvariablen PATH enthalten sind, Öffnen Sie das Terminal unter Linux und führen Sie den folgenden Befehl aus:
echo $PATH
Sie können dies auch manuell tun Fügen Sie Ihrer PATH-Umgebungsvariablen ein Verzeichnis hinzu.
Wenn die Shell den ersten ausführbaren Pfad findet, führt sie ihn aus. Mit dem Befehl „which“ unter Linux können Sie den Pfad dieser ausführbaren Datei ermitteln.
Dies ist in Szenarien nützlich, in denen auf Ihrem System zwei verschiedene Versionen desselben Programms oder zwei verschiedene Programme mit demselben Namen installiert sind. Mit dem Befehl which können Sie herausfinden, welcher zuerst ausgeführt wird.
Hier ist die Syntax des which-Befehls:
welche [Option] [Befehl]
Zum Beispiel, um den tatsächlichen Pfad des zu überprüfen Teer Befehl, würden Sie Folgendes eingeben:
welcher Teer
Dieser Befehl zeigt den ersten ausführbaren Pfad an, d. h. /usr/bin für den tar-Befehl im PATH gefunden. Dies bedeutet, dass die Shell jedes Mal, wenn Sie den Befehl tar ausführen, die Binärdatei ausführt, die sich im befindet /usr/bin Verzeichnis.
Um alle verfügbaren ausführbaren Pfade für einen Befehl anzuzeigen, verwenden Sie den Befehl which mit dem -A Möglichkeit:
welches - ein Teer
Sie können auch ausführbare Pfade für mehrere Befehle gleichzeitig wie folgt anzeigen:
welcher [Befehl1] [Befehl2] [Befehl3]
Der whereis-Befehl
Der Befehl whereis zeigt den Pfad der Binär-, Quell- und Handbuchseitendateien an, die dem angegebenen Befehl zugeordnet sind. Im Gegensatz zum Befehl „which“ sucht er nicht nur in $PATH nach der ausführbaren Datei, sondern auch in $MANPATH und anderen vordefinierten Speicherorten.
Ohne Befehlszeilenoption zeigt der Befehl whereis die Binär-, Quell- und Handbuchseitendateien für einen Befehl an:
Wo ist Teer?
Um nur den Binärdateipfad anzuzeigen, verwenden Sie die -B Möglichkeit:
whereis -b tar
Um nur die Quelldatei anzuzeigen, verwenden Sie die -S Flagge:
whereis -s tar
Um nur die Handbuchseite anzuzeigen, verwenden Sie die -M Möglichkeit:
whereis -m tar
Der whatis-Befehl
Der Befehl whatis liefert eine einzeilige Beschreibung eines bestimmten Linux-Befehls. Diese Informationen finden Sie in der Manpage des Befehls.
Um beispielsweise herauszufinden, was der Befehl tar bewirkt, führen Sie Folgendes aus:
Was ist Teer?
Sie können auch Informationen zu mehreren Befehlen gleichzeitig finden, indem Sie Folgendes verwenden:
was ist ls cp mkdir cat head
was vs. wo ist vs. whatis: Was sind die Unterschiede?
Wenn Sie nach dem Pfad der Binärdatei suchen, die ausgeführt wird, wenn ein Befehl in der Shell ausgeführt wird, verwenden Sie den Befehl „which“. Wenn Sie dagegen nach der Quell-, Binär- und Manpage für einen Befehl suchen, verwenden Sie whereis.
Der Befehl „whereis“ listet alle ausführbaren Binärdateien auf, während der Befehl „which“ nur die erste ausführbare Datei anzeigt, die ausgeführt wird, wenn Sie den besagten Befehl in die Shell eingeben.
Der Befehl „which“ führt Suchvorgänge in der PATH-Variablen durch, während der Befehl „whereis“ Standard-Linux-Verzeichnisse durchsucht, einschließlich $PATH und $MANPATH.
Schließlich zeigt der Befehl whatis einfach eine einzeilige Beschreibung eines Befehls an.
Informationen zu Linux-Befehlen finden
Mit den Befehlen „which“, „whereis“ und „whatis“ können Sie Informationen zu anderen Linux-Befehlen finden, z. B. den vollständigen Pfad von ausführbaren Dateien, Binärdateien, Quellen, Handbuchseiten und die Funktionalität eines Befehls.
Neben whatis können Sie auch andere Befehle wie apropos, man, info und help verwenden, um detaillierte Informationen zu erhalten und ein besseres Verständnis der Linux-Befehle und ihrer Funktionen zu erhalten.