So finden Sie Dateien nach Namen oder Erweiterung unter Linux
Oftmals befinden wir uns in einer Situation, in der wir nach mehreren Dateien mit unterschiedlichen Erweiterungen suchen müssen, was für viele Linux-Benutzer ein häufiges Szenario ist, insbesondere wenn sie im Terminal arbeiten.
Es gibt mehrere Linux-Dienstprogramme, mit denen wir Dateien im Dateisystem finden können. Das Auffinden von Dateien mit mehreren Erweiterungen kann sich jedoch manchmal als schwierig erweisen und erfordert spezielle Befehle.
Eines der vielen Dienstprogramme zum Auffinden von Dateien in einem Linux-Dateisystem ist das Suchdienstprogramm. In dieser Anleitung gehen wir einige Beispiele für die Verwendung von find durch, um mehrere Dateinamen gleichzeitig zu finden.
Bevor wir uns mit den eigentlichen Befehlen befassen, schauen wir uns eine kurze Einführung in das Linux-Dienstprogramm „find“ an.
Einführung in den Befehl „find“.
Der Befehl find ist ein vielseitiges Tool zum Suchen nach Dateien und Verzeichnissen in einem Linux-Dateisystem.
Die einfachste und allgemeinste Syntax des Suchdienstprogramms lautet wie folgt:
find directory options [expression]
Hier ein kurzer Überblick über seine Komponenten:
- Verzeichnis: Das Verzeichnis, in dem Sie die Suche starten möchten.
- Optionen: Zusätzliche Parameter zur Verfeinerung Ihrer Suche.
- Ausdruck: Bedingungen zum Abgleichen von Dateien oder Verzeichnissen.
Schauen wir uns nun einige Beispiele für den Befehl find unter Linux an.
Suche nach mehreren Dateierweiterungen
Um Dateien mit unterschiedlichen Erweiterungen zu finden, können Sie die Option -name
in Kombination mit dem Operator -o
(OR) verwenden, der Ihnen die Angabe ermöglicht Mehrere Muster zur Anpassung an unterschiedliche Dateitypen.
Sehen wir uns einige Beispiele an, um zu veranschaulichen, wie das funktioniert.
Beispiel 1: Suchen nach .sh- und .txt-Dateien
Angenommen, Sie möchten alle Dateien im aktuellen Verzeichnis mit den Dateierweiterungen .sh
und .txt
finden, können Sie dies tun, indem Sie den folgenden Befehl ausführen:
find . -type f \( -name "*.sh" -o -name "*.txt" \)
Interpretation des obigen Befehls:
.
bedeutet das aktuelle Verzeichnis- Die Option
-type
wird verwendet, um den Dateityp anzugeben. Hier suchen wir nach regulären Dateien, dargestellt durchf
- Die Option
-name
wird verwendet, um ein Suchmuster anzugeben, in diesem Fall die Dateierweiterungen -o
bedeutet „ODER“
Es wird empfohlen, die Dateierweiterungen in eckige Klammern zu setzen und wie im Befehl auch das Escape-Zeichen \
(Backslash) zu verwenden.
Beispiel 2: Suchen nach .sh-, .txt- und .c-Dateien
Um drei Dateinamen mit den Erweiterungen .sh
, .txt
und .c
zu finden, geben Sie den folgenden Befehl aus:
find . -type f \( -name "*.sh" -o -name "*.txt" -o -name "*.c" \)
Beispiel 3: Suchen nach .png-, .jpg-, .deb- und .pdf-Dateien
Hier ist ein weiteres Beispiel, bei dem wir nach Dateien mit den Erweiterungen .png
, .jpg
, .deb
und .pdf
suchen :
find /home/aaronkilik/Documents/ -type f \( -name "*.png" -o -name "*.jpg" -o -name "*.deb" -o -name ".pdf" \)
Beispiel 4: Verwenden von Platzhaltern zum Suchen
Sie können auch Platzhalter verwenden, um Muster abzugleichen. Um beispielsweise alle Dateien mit den Erweiterungen .log
, .txt
oder .cfg
zu finden:
find /var/log/ -type f \( -name "*.log" -o -name "*.txt" -o -name "*.cfg" \)
Beispiel 5: Dateien mit komplexen Mustern finden
Angenommen, Sie möchten Dateien finden, die mit .tar.gz
oder .zip
enden:
find /path/to/search/ -type f \( -name "*.tar.gz" -o -name "*.zip" \)
Wenn Sie alle oben genannten Befehle kritisch betrachten, besteht der kleine Trick darin, die Option -o
im Befehl find zu verwenden. Dadurch können Sie dem Sucharray weitere Dateinamen hinzufügen Kennen Sie auch die Dateinamen oder Dateierweiterungen, nach denen Sie suchen.
Abschluss
In diesem Handbuch haben wir untersucht, wie Sie mit dem Suchbefehl nach Dateien mit mehreren Erweiterungen suchen. Durch die Verwendung der Option -name
in Kombination mit dem Operator -o
können Sie mit einem einzigen Befehl problemlos Dateien finden, die verschiedenen Mustern entsprechen.
Um tiefer in den Befehl find und seine vielen Funktionen einzutauchen, können Sie die Find-Handbuchseite durchsuchen, indem Sie man find
in Ihr Terminal eingeben.
man find
Experimentieren Sie ruhig mit diesen Befehlen und passen Sie sie an Ihre spezifischen Bedürfnisse an!