Linux-Datei- und Befehlssuche

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In Linux-Systemen ist die effiziente Suche nach Dateien und Befehlen eine essentielle Fähigkeit für alle Benutzer. Wenn Sie an der Kommandozeile arbeiten, müssen Sie oft herausfinden, wo Programme installiert sind, wo Sie auf deren Dokumentation zugreifen können oder wo Konfigurationsdateien gespeichert sind.

Dieses Lab konzentriert sich auf den whereis-Befehl, ein leistungsfähiges Hilfsprogramm, das bei der Suche nach Binärdateien, Quellcode und Handbuchseiten für Befehle in Linux hilft. Indem Sie lernen, wie Sie diesen Befehl effektiv nutzen können, können Sie sich im Linux-Dateisystem sicherer bewegen und Ihre Produktivität steigern.

Im Laufe dieses Labs werden Sie verschiedene Methoden kennenlernen, wie Sie den whereis-Befehl verwenden können, um verschiedene Komponenten von Linux-Befehlen zu finden. Dies vermittelt Ihnen praktische Fähigkeiten, die Ihnen bei Ihrem Linux-Abenteuer von großem Wert sein werden.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicSystemCommandsGroup -.-> linux/man("Manual Access") linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cp("File Copying") linux/BasicFileOperationsGroup -.-> linux/mv("File Moving/Renaming") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/FileandDirectoryManagementGroup -.-> linux/whereis("File/Command Finding") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") subgraph Lab Skills linux/man -.-> lab-271441{{"Linux-Datei- und Befehlssuche"}} linux/ls -.-> lab-271441{{"Linux-Datei- und Befehlssuche"}} linux/cp -.-> lab-271441{{"Linux-Datei- und Befehlssuche"}} linux/mv -.-> lab-271441{{"Linux-Datei- und Befehlssuche"}} linux/cd -.-> lab-271441{{"Linux-Datei- und Befehlssuche"}} linux/whereis -.-> lab-271441{{"Linux-Datei- und Befehlssuche"}} linux/grep -.-> lab-271441{{"Linux-Datei- und Befehlssuche"}} end

Das whereis-Kommando verstehen

Der whereis-Befehl in Linux dient dazu, die Binärdateien, Quellcode-Dateien und Handbuchseiten für einen Befehl zu finden. Dies ist besonders nützlich, wenn Sie herausfinden müssen, wo ein Programm installiert ist oder wo seine Dokumentation gespeichert ist.

Lassen Sie uns zunächst untersuchen, wie der whereis-Befehl funktioniert. Stellen Sie zunächst sicher, dass Sie sich im Projektverzeichnis befinden:

cd ~/project

Um das whereis-Kommando besser zu verstehen, schauen wir uns seine Hilfsinformationen an:

whereis --help

Sie sollten eine Ausgabe ähnlich der folgenden sehen, die die verschiedenen Optionen des whereis-Befehls zeigt:

Usage:
 whereis [options] [-BMS <dir>... -f] <name>...

Locate the binary, source, and manual page files for a command.

Options:
 -b         search only for binaries
 -B <dirs>  define binaries lookup path
 -m         search only for manuals and infos
 -M <dirs>  define man and info lookup path
 -s         search only for sources
 -S <dirs>  define sources lookup path
 -f         terminate <dirs> argument list
 -u         search for unusual entries
 -l         output effective lookup paths

For more details see whereis(1).

Diese Ausgabe erklärt, dass whereis verwendet werden kann, um Binärdateien (ausführbare Dateien), Quellcode-Dateien und Handbuchseiten für Befehle zu finden. Sie zeigt auch die verschiedenen Optionen, die Sie verwenden können, um Ihre Suche zu verfeinern.

Finden von Binär-Executables mit whereis

In Linux sind Binär-Executables die kompilierten, direkt ausführbaren Programme, die Sie von der Kommandozeile aus ausführen können. Diese werden normalerweise in Verzeichnissen wie /usr/bin, /bin oder /usr/local/bin gespeichert.

Lassen Sie uns den whereis-Befehl verwenden, um den Speicherort einiger häufig verwendeter Linux-Befehle zu finden.

Zunächst finden wir die Binärdatei für den grep-Befehl, der zum Muster-Suchen in Dateien verwendet wird:

whereis grep

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

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

Diese Ausgabe sagt Ihnen zwei wichtige Dinge:

  • Die Binär-Executable für grep befindet sich unter /usr/bin/grep
  • Die Handbuchseite für grep ist unter /usr/share/man/man1/grep.1.gz

Wenn Sie nur an der Binär-Executable interessiert sind und nicht an den Handbuchseiten oder Quellcode-Dateien, können Sie die -b-Option verwenden:

whereis -b grep

Die Ausgabe zeigt nur den Speicherort der Binärdatei:

grep: /usr/bin/grep

Jetzt finden wir den Speicherort eines anderen gängigen Befehls, ls, der zum Auflisten des Inhalts von Verzeichnissen verwendet wird:

whereis ls

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

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

Dies zeigt, dass die Binärdatei des ls-Befehls in /usr/bin/ls liegt und seine Handbuchseite unter /usr/share/man/man1/ls.1.gz zu finden ist.

Der whereis-Befehl durchsucht vordefinierte Pfade, um diese Dateien zu finden. Diese Pfade umfassen in der Regel die Standard-Speicherorte, an denen Linux Binärdateien, Handbuchseiten und Quellcode-Dateien speichert.

Finden von Handbuchseiten mit whereis

Handbuchseiten (man pages) bieten Dokumentation für Befehle und Programme in Linux. Sie enthalten detaillierte Informationen darüber, wie ein Befehl verwendet wird, welche Optionen verfügbar sind und Beispiele für häufige Anwendungen.

Der whereis-Befehl kann Ihnen helfen, diese Handbuchseiten mithilfe der -m-Option zu finden. Lassen Sie uns sehen, wie man Handbuchseiten für verschiedene Befehle findet.

Zunächst finden wir die Handbuchseite für den find-Befehl, der zum Suchen von Dateien in einer Verzeichnisstruktur verwendet wird:

whereis -m find

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

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

Dies zeigt, dass die Handbuchseite für den find-Befehl unter /usr/share/man/man1/find.1.gz gespeichert ist.

Handbuchseiten in Linux werden normalerweise im Verzeichnis /usr/share/man gespeichert und in nummerierte Abschnitte organisiert:

  • Abschnitt 1: Benutzerbefehle (ausführbare Programme oder Shell-Befehle)
  • Abschnitt 2: Systemaufrufe (Funktionen, die vom Kernel bereitgestellt werden)
  • Abschnitt 3: Bibliotheksaufrufe (Funktionen innerhalb von Programm-Bibliotheken)
  • Abschnitt 4: Spezielle Dateien (normalerweise im Verzeichnis /dev zu finden)
  • Abschnitt 5: Dateiformate und Konventionen
  • Abschnitt 6: Spiele
  • Abschnitt 7: Sonstiges
  • Abschnitt 8: Systemadministrationsbefehle

Die meisten häufig verwendeten Befehle haben ihre Handbuchseiten im Abschnitt 1, weshalb Sie oft Dateinamen sehen werden, die mit .1.gz enden (komprimierte Dateien im Abschnitt 1).

Lassen Sie uns die Handbuchseite für den passwd-Befehl finden, der zum Ändern von Benutzerpasswörtern verwendet wird:

whereis -m passwd

Sie könnten eine Ausgabe ähnlich der folgenden sehen:

passwd: /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz

Beachten Sie, dass passwd Handbuchseiten in zwei verschiedenen Abschnitten hat - Abschnitt 1 für den Befehl selbst und Abschnitt 5 für das Passwort-Dateiformat.

Sie können diese Handbuchseiten direkt mithilfe des man-Befehls und dem Namen des Befehls zugreifen:

man find

Drücken Sie q, um den Handbuchseiten-Viewer zu verlassen, wenn Sie fertig mit dem Lesen sind.

Finden von Quellcode-Dateien mit whereis

Quellcode-Dateien sind die ursprünglichen Code-Dateien, aus denen Binär-Executables kompiliert werden. Der whereis-Befehl kann Ihnen auch helfen, diese Quellcode-Dateien zu finden, wenn sie in Ihrem System verfügbar sind.

Um nach Quellcode-Dateien zu suchen, verwenden Sie die -s-Option mit whereis. Versuchen wir, Quellcode-Dateien für einige gängige Befehle zu finden:

whereis -s ls

Abhängig von Ihrer Systemkonfiguration sehen Sie möglicherweise keine Ausgabe oder etwas wie Folgendes:

ls:

Dies zeigt an, dass die Quellcode-Dateien für ls in den Standard-Speicherorten auf Ihrem System nicht verfügbar sind. Dies ist für viele voreingestellte Programme in Linux-Distributionen üblich, da ihr Quellcode normalerweise standardmäßig nicht enthalten ist.

Einige Programme, insbesondere solche, die Sie aus dem Quellcode kompilieren oder Entwicklungstools, haben möglicherweise ihre Quellcode-Dateien im System verfügbar. Versuchen wir einen anderen Befehl, wie gcc (der GNU C Compiler):

whereis -s gcc

Auch hier hängt die Ausgabe von Ihrem System ab. Sie könnten etwas wie Folgendes sehen:

gcc: /usr/lib/gcc

Dies zeigt an, dass Quellcode-Dateien im Zusammenhang mit gcc im Verzeichnis /usr/lib/gcc gefunden werden könnten.

Es ist wichtig zu beachten, dass die -s-Option nach Quellcode-Dateien in vordefinierten Speicherorten sucht, die möglicherweise nicht alle Orte umfassen, an denen Quellcode auf Ihrem System gespeichert sein könnte. Darüber hinaus werden viele Programme in Linux-Distributionen aus Binärpaketen installiert, sodass ihr Quellcode möglicherweise nicht lokal vorhanden ist.

Lassen Sie uns mehrere Optionen kombinieren, um einen umfassenderen Überblick darüber zu erhalten, wo sich die Dateien im Zusammenhang mit einem Befehl befinden. Beispielsweise, um alle Binär-, Handbuch- und Quellcode-Dateien für python zu finden:

whereis python

Dies sollte alle verfügbaren Speicherorte für Python-bezogene Dateien in Ihrem System anzeigen, die möglicherweise mehrere Binärdateien, Handbuchseiten und möglicherweise Quellcode-Verzeichnisse umfassen.

Kombinieren von Optionen und Suchen nach mehreren Befehlen

Der whereis-Befehl bietet Flexibilität bei der Suche nach Dateien und kann verwendet werden, um gleichzeitig nach mehreren Befehlen zu suchen. In diesem letzten Schritt werden wir untersuchen, wie man verschiedene Optionen kombiniert und in einer einzigen Abfrage nach mehreren Befehlen sucht.

Zunächst kombinieren wir mehrere Optionen, um unsere Suche zu verfeinern. Wenn Sie beispielsweise sowohl Binärdateien als auch Handbuchseiten (aber keine Quellcode-Dateien) für den tar-Befehl finden möchten:

whereis -b -m tar

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

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

Dies zeigt sowohl den Speicherort der Binärdatei als auch der Handbuchseite für den tar-Befehl.

Sie können auch in einer einzigen whereis-Abfrage nach mehreren Befehlen suchen. Dies ist nützlich, wenn Sie mehrere verwandte Befehle gleichzeitig lokalisieren müssen. Lassen Sie uns die Speicherorte für drei Befehle - cp, mv und rm - finden:

whereis cp mv rm

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

cp: /usr/bin/cp /usr/share/man/man1/cp.1.gz
mv: /usr/bin/mv /usr/share/man/man1/mv.1.gz
rm: /usr/bin/rm /usr/share/man/man1/rm.1.gz

Dies gibt Ihnen einen schnellen Überblick darüber, wo sich diese drei gängigen Dateimanipulationsbefehle in Ihrem System befinden.

Eine weitere nützliche Option ist -l, die die Verzeichnisse auflistet, in denen whereis bei der Suche nach Dateien sucht:

whereis -l

Dies zeigt eine Liste der Verzeichnisse an, die whereis für Binärdateien, Handbuchseiten und Quellcode-Dateien prüft. Die Ausgabe variiert je nach Systemkonfiguration, könnte aber so aussehen:

bin: /usr/bin
bin: /usr/sbin
bin: /usr/games
bin: /usr/local/bin
bin: /usr/local/sbin
man: /usr/man/all
man: /usr/share/man/all
man: /usr/local/man/all
man: /usr/local/share/man/all
src: /usr/src/linux
src: /usr/src/packages
src: /usr/local/src
...

Diese Informationen sind nützlich, um zu verstehen, wo whereis sucht und warum es möglicherweise bestimmte Dateien nicht findet, auch wenn sie auf Ihrem System vorhanden sind.

Der whereis-Befehl ist eine schnelle Möglichkeit, wichtige Dateien im Zusammenhang mit Befehlen in Ihrem Linux-System zu lokalisieren. Obwohl er einige Einschränkungen hat (z. B. nur in vordefinierten Pfaden suchen), bietet er eine schnelle und unkomplizierte Methode, um Binär-Executables, Handbuchseiten und in einigen Fällen Quellcode-Dateien für die von Ihnen verwendeten Befehle zu finden.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie den whereis-Befehl in Linux verwenden, um wichtige Dateien im Zusammenhang mit Befehlen in Ihrem System zu lokalisieren. Hier ist eine Zusammenfassung dessen, was Sie erreicht haben:

  1. Sie haben die grundlegende Syntax und die Optionen des whereis-Befehls gelernt.
  2. Sie haben whereis verwendet, um Binär-Executable-Dateien für Befehle zu finden.
  3. Sie haben entdeckt, wie Sie Handbuchseiten mit der -m-Option lokalisieren können.
  4. Sie haben die Suche nach Quellcode-Dateien mit der -s-Option untersucht und deren Einschränkungen verstanden.
  5. Sie haben das Kombinieren von Optionen und das gleichzeitige Suchen nach mehreren Befehlen geübt.

Der whereis-Befehl ist ein wertvolles Werkzeug in Ihrem Linux-Werkzeugkasten, das es Ihnen ermöglicht, schnell zu finden, wo Programme installiert sind und wo sich ihre Dokumentation befindet. Dieses Wissen hilft Ihnen, das Linux-Dateisystem effizienter zu durchsuchen und zu verstehen, wie die Software auf Ihrem System organisiert ist.

Wenn Sie Ihre Linux-Reise fortsetzen, können Sie auch verwandte Befehle wie which (das nur ausführbare Dateien in Ihrem PATH findet), locate (das alle Dateien anhand des Namens mithilfe einer Datenbank finden kann) und find (das Dateien anhand verschiedener Kriterien suchen kann) untersuchen. Jeder dieser Befehle hat seine eigenen Stärken und Anwendungsfälle und ergänzt das, was Sie über whereis gelernt haben.