28Jun

So finden Sie Dateien und Ordner in Linux über die Befehlszeile

click fraud protection

Die meisten Leute benutzen einen grafischen Dateimanager, um Dateien in Linux zu finden, wie zB Nautilus in Gnome, Dolphin in KDE und Thunar in Xfce. Es gibt jedoch mehrere Möglichkeiten, die Befehlszeile zum Suchen von Dateien in Linux zu verwenden, unabhängig davon, welchen Desktop-Manager Sie verwenden.

Verwenden des Suchbefehls

Mit dem Befehl "Suchen" können Sie nach Dateien suchen, für die Sie die ungefähren Dateinamen kennen. Die einfachste Form des Befehls sucht nach Dateien im aktuellen Verzeichnis und rekursiv über seine Unterverzeichnisse, die den angegebenen Suchkriterien entsprechen. Sie können nach Dateien nach Name, Besitzer, Gruppe, Typ, Berechtigungen, Datum und anderen Kriterien suchen.

Durch Eingabe des folgenden Befehls an der Eingabeaufforderung werden alle Dateien aufgelistet, die im aktuellen Verzeichnis gefunden wurden.

finden.

Der Punkt nach "find" zeigt das aktuelle Verzeichnis an.

Um Dateien zu finden, die einem bestimmten Muster entsprechen, verwenden Sie das Argument -name. Sie können Dateinamen-Metazeichen( wie *) verwenden, aber Sie sollten entweder ein Escape-Zeichen( \) vor jedes von ihnen setzen oder sie in Anführungszeichen setzen.

instagram viewer

Wenn Sie beispielsweise alle Dateien suchen möchten, die im Verzeichnis "Documents" mit "pro" beginnen, wechseln Sie mit dem Befehl cd Documents / in das Verzeichnis Documents und geben Sie den folgenden Befehl ein:

find.-name pro \ *

Alle Dateien im aktuellen Verzeichnis, die mit "pro" beginnen, werden aufgelistet.

HINWEIS: Beim Befehl find wird standardmäßig zwischen Groß- und Kleinschreibung unterschieden. Wenn Sie bei der Suche nach einem Wort oder einer Wortfolge zwischen Groß- und Kleinschreibung unterscheiden möchten, verwenden Sie die Option -iname mit dem Befehl find. Es ist die Groß- / Kleinschreibung der Version des Befehls -name.

Wenn find keine Dateien findet, die Ihren Kriterien entsprechen, wird keine Ausgabe erzeugt.

Der Befehl find verfügt über viele Optionen zur Verfeinerung der Suche. Um weitere Informationen zum Befehl find zu erhalten, führen Sie man find in einem Terminalfenster aus und drücken Sie die Eingabetaste.

Verwenden des Locate-Befehls

Der Befehl locate ist schneller als der Befehl find, da er eine zuvor erstellte Datenbank verwendet, während der Befehl find im realen System alle Verzeichnisse und Dateien durchsucht. Der Befehl locate gibt eine Liste aller Pfadnamen zurück, die die angegebene Gruppe von Zeichen enthalten.

Die Datenbank wird regelmäßig von Cron aktualisiert, Sie können sie jedoch jederzeit selbst aktualisieren, um aktuelle Ergebnisse zu erhalten. Geben Sie dazu den folgenden Befehl an der Eingabeaufforderung ein:

sudo updatedb

Geben Sie Ihr Kennwort ein, wenn Sie dazu aufgefordert werden.

Die Grundform des locate-Befehls findet alle Dateien im Dateisystem, angefangen bei der Wurzel, die alle oder einen Teil der Suchkriterien enthalten.

locate mydata

Der obige Befehl hat beispielsweise zwei Dateien mit "mydata" und eine Datei mit "data" gefunden.

Wenn Sie alle Dateien oder Verzeichnisse suchen möchten, die genau und nur Ihre Suchkriterien enthalten, verwenden Sie die Option -b mitder Ortungsbefehl wie folgt.

locate -b '\ mydata'

Der umgekehrte Schrägstrich im obigen Befehl ist ein globbing-Zeichen, das eine Möglichkeit bietet, Platzhalterzeichen in einem nicht spezifischen Dateinamen in eine Reihe bestimmter Dateinamen zu erweitern. Ein Platzhalter ist ein Symbol, das bei der Auswertung des Ausdrucks durch ein oder mehrere Zeichen ersetzt werden kann. Die gebräuchlichsten Platzhalterzeichen sind das Fragezeichen( ?), Das für ein einzelnes Zeichen steht, und das Sternchen( *), das für eine zusammenhängende Zeichenkette steht. Im obigen Beispiel deaktiviert der umgekehrte Schrägstrich die implizite Ersetzung von "mydata" durch "* mydata *", sodass Sie nur Ergebnisse erhalten, die "mydata" enthalten.

Der Befehl mlocate ist eine neue Implementierung von locate. Es indiziert das gesamte Dateisystem, aber die Suchergebnisse enthalten nur Dateien, auf die der aktuelle Benutzer Zugriff hat. Wenn Sie die mlocate-Datenbank aktualisieren, werden die Zeitstempelinformationen in der Datenbank gespeichert. Dadurch kann mlocate feststellen, ob sich der Inhalt eines Verzeichnisses geändert hat, ohne den Inhalt erneut zu lesen, und Aktualisierungen der Datenbank schneller und weniger anspruchsvoll auf Ihrer Festplatte vornehmen.

Wenn Sie mlocate installieren, sucht der /usr/bin/ die Binärdatei so, dass er auf mlocate zeigt. Um mlocate zu installieren, geben Sie den folgenden Befehl an der Eingabeaufforderung ein, wenn es nicht bereits in Ihrer Linux-Distribution enthalten ist.

sudo apt-get installieren mlocate

HINWEIS: Wir zeigen Ihnen später in diesem Artikel einen Befehl, mit dem Sie feststellen können, wo sich die ausführbare Datei für einen Befehl befindet, falls sie vorhanden ist.

Der Befehl mlocate verwendet nicht die gleiche Datenbankdatei wie der Standardbefehl locate. Daher möchten Sie die Datenbank möglicherweise manuell erstellen, indem Sie den folgenden Befehl an der Eingabeaufforderung eingeben:

sudo /etc/cron.daily/

mlocate Der Befehl mlocate wird nicht funktionieren, bis die Datenbank manuell erstellt oder wenn das Skript von Cron ausgeführt wird.

Weitere Informationen zum Befehl locate oder mlocate erhalten Sie, indem Sie in einem Terminalfenster man locate oder man mlocate eingeben und die Eingabetaste drücken. Derselbe Hilfe-Bildschirm wird für beide Befehle angezeigt.

Verwenden des Which-Befehls

Der Befehl "which" gibt den absoluten Pfad der ausführbaren Datei zurück, die beim Ausgeben eines Befehls aufgerufen wird. Dies ist nützlich, um den Speicherort einer ausführbaren Datei zum Erstellen einer Verknüpfung zum Programm auf dem Desktop, in einem Bereich oder an einem anderen Ort im Desktop-Manager zu finden. Geben Sie beispielsweise den Befehl ein, mit dem Firefox die in der folgenden Abbildung gezeigten Ergebnisse anzeigt.

Standardmäßig zeigt der Befehl which nur die erste passende ausführbare Datei an. Um alle passenden ausführbaren Dateien anzuzeigen, verwenden Sie die Option -a mit dem folgenden Befehl:

die -a firefox

Sie können nach mehreren ausführbaren Dateien gleichzeitig suchen, wie in der folgenden Abbildung gezeigt. Nur die gefundenen Pfade zu ausführbaren Dateien werden angezeigt. Im folgenden Beispiel wurde nur die ausführbare Datei "ps" gefunden.

HINWEIS: Der Befehl which durchsucht nur die PATH-Variable des aktuellen Benutzers. Wenn Sie nach einer ausführbaren Datei suchen, die nur als normaler Benutzer für den Benutzer root verfügbar ist, werden keine Ergebnisse angezeigt.

Für weitere Informationen über den Befehl which "man which"( ohne Anführungszeichen) an der Eingabeaufforderung in einem Terminal-Fenster und drücken Sie die Eingabetaste.

Verwenden des Whereis-Befehls

Mit dem Befehl whereis wird ermittelt, wo sich die Binär-, Quell- und Manpage-Dateien für einen Befehl befinden. Wenn Sie beispielsweise whereis firefox an der Eingabeaufforderung eingeben, werden die Ergebnisse wie in der folgenden Abbildung angezeigt.

Wenn Sie nur den Pfad zur ausführbaren Datei anzeigen möchten und nicht die Pfade zu den Quell- und Manual-Seiten, verwenden Sie die Option -b. Zum Beispiel zeigt der Befehl whereis -b firefox nur /usr/bin/ firefox als Ergebnis an. Dies ist praktisch, da Sie sehr wahrscheinlich häufiger nach der ausführbaren Datei eines Programms suchen, als nach Quell- und Manpages für dieses Programm. Sie können auch nur nach den Quelldateien( -s) oder nur nach den Man-Pages( -m) suchen.

Geben Sie für weitere Informationen zum Befehl whereis man whereis in einem Terminalfenster ein und drücken Sie die Eingabetaste.

Verstehen des Unterschieds zwischen dem Whereis-Befehl und dem entsprechenden Befehl

Der whereis-Befehl zeigt den Speicherort für die Binär-, Quell- und Manpages eines Befehls an, während der Befehl which nur den Speicherort der Binärdatei für den Befehl anzeigt.

Der whereis-Befehl durchsucht eine Liste spezifischer Verzeichnisse für die binary-, source- und man-Dateien, während der which-Befehl die Verzeichnisse durchsucht, die in der Umgebungsvariablen PATH des aktuellen Benutzers aufgelistet sind. Für den Befehl whereis finden Sie die Liste bestimmter Verzeichnisse im Abschnitt FILES der man-Seiten für den Befehl.

Wenn es sich um Ergebnisse handelt, die standardmäßig angezeigt werden, zeigt der Befehl whereis alles an, was er findet, während der Befehl which nur die erste ausführbare Datei anzeigt, die er findet. Sie können dies mit der Option -a, die weiter oben besprochen wurde, für den entsprechenden Befehl ändern.

Da der Befehl whereis nur Pfade verwendet, die fest im Befehl codiert sind, finden Sie möglicherweise nicht immer das, wonach Sie suchen. Wenn Sie nach einem Programm suchen, von dem Sie annehmen, dass es möglicherweise in einem Verzeichnis installiert ist, das nicht in den Manpages des Befehls whereis aufgeführt ist, können Sie den Befehl which mit der Option -a verwenden, um alle Vorkommnisse des Befehls im System zu finden.