Der Linux whereis-Befehl: Dateien und Befehle finden

LinuxBeginner
Jetzt üben

Einführung

Herzlich willkommen in der Abteilung für Systemadministration bei TechCorp! Als neuer Junior-Systemadministrator besteht Ihre Aufgabe darin, den Umgang mit dem Befehl whereis zu meistern. Dieses leistungsstarke Werkzeug hilft Ihnen dabei, Binärdateien, Quellcodes und Handbuchseiten (Manpages) für verschiedene Befehle im Linux-System aufzuspüren. Am Ende dieses Praktikums werden Sie in der Lage sein, effizient im Dateisystem zu navigieren und kritische Systemkomponenten zu lokalisieren.

Die Grundlagen von 'whereis' verstehen

Ihre erste Aufgabe bei TechCorp ist es, sich mit dem Befehl whereis vertraut zu machen. Dieser Befehl wird verwendet, um die Binärdatei, den Quellcode und die Handbuchseiten eines angegebenen Befehls zu finden.

Beginnen wir damit, whereis zu nutzen, um Informationen über den Befehl ls zu erhalten:

whereis ls

Sie sollten eine Ausgabe sehen, die etwa so aussieht:

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

Diese Ausgabe liefert zwei wichtige Informationen:

  1. /usr/bin/ls: Dies ist der Speicherort der ausführbaren Binärdatei von ls. Wenn Sie ls im Terminal eingeben, ist dies das eigentliche Programm, das ausgeführt wird.
  2. /usr/share/man/man1/ls.1.gz: Dies ist der Pfad zur Handbuchseite (Manual Page) für ls. Handbuchseiten enthalten detaillierte Informationen zur Verwendung von Befehlen.

Der Befehl whereis sucht in einer begrenzten Anzahl von Standardverzeichnissen, darunter Verzeichnisse für Binärdateien, Bibliotheken und Handbuchseiten. Dadurch ist er wesentlich schneller als eine Suche im gesamten Dateisystem.

Falls Sie sich fragen, was diese Pfade bedeuten:

  • /usr/bin ist ein üblicher Ort für Benutzerbefehle.
  • /usr/share/man ist der Standardpfad für Handbuchseiten.
  • man1 gibt an, dass es sich um ein Handbuch für Benutzerbefehle handelt (im Gegensatz zu Systemaufrufen oder Bibliotheksfunktionen).
  • Die Endung .gz bedeutet, dass die Datei komprimiert wurde, um Speicherplatz zu sparen.

Binärdateien finden

Ihr Teamleiter bittet Sie, die Binärdatei für den Befehl grep zu finden. Die Option -b von whereis ist perfekt für diese Aufgabe, da sie gezielt nach Binärdateien sucht.

Probieren Sie den folgenden Befehl aus:

whereis -b grep

Die Ausgabe könnte wie folgt aussehen:

grep: /usr/bin/grep

Diese Anzeige zeigt Ihnen den genauen Ort der ausführbaren grep-Datei. Binärdateien sind die Programme, die gestartet werden, wenn Sie einen Befehl eintippen. In diesem Fall führen Sie beim Aufruf von grep tatsächlich das Programm unter /usr/bin/grep aus.

Versuchen wir nun, die Binärdatei für einen Befehl zu finden, der wahrscheinlich nicht auf dem System existiert. Nutzen Sie whereis -b, um nach einem fiktiven Befehl namens nonexistent zu suchen:

whereis -b nonexistent

Sie sollten folgendes sehen:

nonexistent:

Diese leere Ausgabe bedeutet, dass keine Binärdatei für den Befehl nonexistent gefunden wurde. Das ist sehr nützlich, wenn Sie prüfen möchten, ob ein bestimmtes Programm überhaupt auf Ihrem System installiert ist.

Handbuchseiten lokalisieren

Ihre nächste Aufgabe ist es, die Handbuchseiten für den Befehl ssh zu finden. Handbuchseiten sind unerlässlich, um die Funktionsweise verschiedener Befehle zu verstehen.

Verwenden Sie die Option -m mit whereis, um gezielt nach Handbuchseiten zu suchen:

whereis -m ssh

Die Ausgabe wird etwa so aussehen:

ssh: /usr/share/man/man1/ssh.1.gz

Dies zeigt Ihnen den Speicherort der Dokumentation für den ssh-Befehl. Die Endung .gz weist auch hier auf eine komprimierte Datei hin.

Um den Inhalt einer Handbuchseite zu lesen, verwendet man normalerweise den Befehl man. Da wir diesen Befehl noch nicht behandelt haben, bestätigen wir einfach nur, dass die Datei existiert:

ls /usr/share/man/man1/ssh.1.gz

Wenn die Datei vorhanden ist, wird ihr Name in der Ausgabe angezeigt. Damit ist sichergestellt, dass die Dokumentation auf Ihrem System verfügbar ist.

Das Wissen über die Speicherorte von Handbuchseiten ist für Systemadministratoren wichtig. So können Sie verifizieren, ob die Dokumentation für ein Werkzeug installiert ist, was besonders bei der Fehlersuche oder beim Erlernen neuer Tools hilfreich ist.

Optionen kombinieren

Da Sie nun sicherer im Umgang mit whereis sind, fordert Ihr Teamleiter Sie heraus: Finden Sie sowohl die Binärdatei als auch die Handbuchseite für den Befehl python3 in einem einzigen Schritt.

Sie können die Optionen -b und -m einfach kombinieren:

whereis -bm python3

Die Ausgabe könnte so aussehen:

python3: /usr/bin/python3 /usr/lib/python3 /etc/python3 /usr/share/python3 /usr/share/man/man1/python3.1.gz

Diese Ausgabe liefert eine Fülle von Informationen:

  • /usr/bin/python3: Der Ort der Python 3 Binärdatei (das ausführbare Programm).
  • /usr/lib/python3: Das Verzeichnis mit den Python 3 Bibliotheken (wiederverwendbarer Code für Python-Programme).
  • /etc/python3: Ein Verzeichnis für Konfigurationsdateien von Python 3.
  • /usr/share/python3: Ein Verzeichnis für gemeinsam genutzte Python 3 Daten.
  • /usr/share/man/man1/python3.1.gz: Der Ort der Python 3 Handbuchseite.

Diese umfassende Ansicht ist besonders nützlich bei komplexer Software, deren Komponenten über das gesamte Dateisystem verteilt sind. Sie erhalten so einen schnellen Überblick über alle relevanten Pfade.

Quelldateien untersuchen

Für die letzte Aufgabe möchte Ihr Teamleiter, dass Sie prüfen, ob die Quelldateien für die bash-Shell auf dem System verfügbar sind. Quelldateien sind nützlich, um zu verstehen, wie ein Programm intern funktioniert, oder um eigene Versionen zu kompilieren.

Verwenden Sie die Option -s, um nach Quelldateien zu suchen:

whereis -s bash

Die Ausgabe bleibt wahrscheinlich leer, da Quelldateien auf den meisten Systemen standardmäßig nicht installiert werden. Falls Sie eine Ausgabe sehen, zeigt diese den Pfad zu den bash-Quellcodes an.

Kombinieren wir nun alle Optionen, um ein vollständiges Bild des bash-Befehls zu erhalten:

whereis bash

Dieser Befehl ohne zusätzliche Optionen zeigt alle verfügbaren Informationen zu bash an, was etwa so aussehen könnte:

bash: /usr/bin/bash /etc/bash.bashrc /usr/share/man/man1/bash.1.gz

Diese Ausgabe zeigt:

  • /usr/bin/bash: Die ausführbare Binärdatei für die Bash.
  • /etc/bash.bashrc: Eine systemweite Konfigurationsdatei für die Bash.
  • /usr/share/man/man1/bash.1.gz: Die Handbuchseite für die Bash.

Das Verständnis dieser Dateipfade ist entscheidend für administrative Aufgaben. Wenn Sie beispielsweise das Standardverhalten der Bash für alle Benutzer ändern müssen, wissen Sie nun, dass Sie in /etc/bash.bashrc nachsehen müssen.

Zusammenfassung

In diesem Praktikum haben Sie gelernt, wie Sie den Befehl whereis verwenden, um Binärdateien, Quellcodes und Handbuchseiten für verschiedene Befehle im Linux-System zu finden. Sie haben gelernt, wie man:

  1. Basisinformationen über Befehle abruft.
  2. Binärdateien mit der Option -b lokalisiert.
  3. Handbuchseiten mit der Option -m findet.
  4. Optionen kombiniert, um umfassendere Informationen zu erhalten.
  5. Mit der Option -s nach Quelldateien sucht.

Diese Fähigkeiten sind für Ihre Rolle als Systemadministrator von unschätzbarem Wert, da sie es Ihnen ermöglichen, wichtige Dateien schnell zu finden und die Struktur Ihres Linux-Systems besser zu verstehen.

Weitere Optionen des whereis-Befehls, die in diesem Praktikum nicht behandelt wurden, sind:

  • -u: Suche nach ungewöhnlichen Einträgen (Dateien, die nicht dem üblichen Namensschema entsprechen).
  • -B: Ändern oder Einschränken der Suchpfade für Binärdateien.
  • -M: Ändern oder Einschränken der Suchpfade für Handbuchseiten.
  • -S: Ändern oder Einschränken der Suchpfade für Quelldateien.

Denken Sie bei Ihrer weiteren Arbeit in der Systemadministration daran, dass whereis nur eines von vielen Werkzeugen ist. Es eignet sich hervorragend für schnelle Abfragen. Für umfassendere Suchen im gesamten Dateisystem sollten Sie sich in Zukunft auch mit Befehlen wie find oder locate vertraut machen.