WMP Sites

Effektives Auffinden von Dateien nach Namen unter Linux

Lukas Fuchs vor 2 Jahren DevOps & Deployment 3 Min. Lesezeit

Linux-Befehl 'find' zum Auffinden von Dateien nach Namen

Der Befehl "find" ist ein leistungsstarkes Werkzeug in Linux, mit dem du Dateien anhand verschiedener Kriterien suchen kannst, darunter auch anhand ihres Namens. "find" durchsucht rekursiv ein Verzeichnis und seine Unterverzeichnisse nach Dateien, die den angegebenen Kriterien entsprechen. Hier erfährst du, wie du "find" verwendest, um Dateien nach Namen zu finden:

Syntax von "find" für die Namenssuche

Die Syntax von "find" für die Namenssuche lautet:

find [Suchoptionen] [Suchkriterien] [Aktionen]

Suchkriterien für Dateinamen

Zum Suchen von Dateien nach Namen verwendest du das Suchkriterium -name gefolgt vom Namen oder einem Muster des Namens der gesuchten Datei. Beispielsweise sucht der folgende Befehl nach einer Datei mit dem genauen Namen "Datei.txt":

find -name Datei.txt

Teilübereinstimmungen und Platzhalter

Du kannst auch nach Teilübereinstimmungen in Dateinamen suchen. Verwende dazu den Operator -iname anstelle von -name. Du kannst auch Platzhalter wie * (beliebige Zeichenfolge) und ? (genau ein Zeichen) verwenden. Beispielsweise sucht der folgende Befehl nach Dateien, die mit "Datei" beginnen:

find -iname 'Datei*'

Einschränken des Suchbereichs

Standardmäßig durchsucht "find" alle Verzeichnisse im aktuellen Arbeitsverzeichnis. Du kannst den Suchbereich jedoch mit der Option -path einschränken. Beispielsweise durchsucht der folgende Befehl nur das Verzeichnis "/tmp/":

find -path '/tmp/*' -name 'Datei.txt'

Sonderzeichen in Dateinamen

Wenn der Dateiname Sonderzeichen wie Leerzeichen oder Anführungszeichen enthält, musst du ihn in Anführungszeichen setzen. Beispielsweise sucht der folgende Befehl nach einer Datei mit dem Namen "Dokument mit Leerzeichen.txt":

find -name "Dokument mit Leerzeichen.txt"

Suche nach Groß- und Kleinschreibung

Standardmäßig ignoriert "find" die Groß- und Kleinschreibung bei der Namenssuche. Um zwischen Groß- und Kleinschreibung zu unterscheiden, verwende die Option -nocase. Beispielsweise sucht der folgende Befehl nach einer Datei mit dem genauen Namen "DATEI.TXT":

find -name -nocase 'DATEI.TXT'

Verwendung der Syntax von 'find' für die Namenssuche

Die Grundsyntax von 'find' zum Suchen von Dateien nach Namen lautet:

find [Optionen] [Pfad] [Ausdruck]

Dabei ist:

  • Optionen: Optionale Flags, die das Suchverhalten beeinflussen, z. B. -name, -iname und -regex.
  • Pfad: Das Verzeichnis oder die Verzeichnisse, in denen du suchen möchtest.
  • Ausdruck: Der Suchbegriff, der den Dateinamen angibt.

Suche nach exakten Übereinstimmungen

Um nach Dateien zu suchen, die genau mit einem bestimmten Namen übereinstimmen, verwende die Option -name. Beispiel:

find /home/benutzer -name datei.txt

Dieser Befehl sucht im Verzeichnis /home/benutzer nach der Datei datei.txt.

Suche nach Teilübereinstimmungen

Um nach Dateien zu suchen, die eine Teilzeichenfolge im Namen enthalten, verwende die Option -iname. Beispiel:

find /home/benutzer -iname "*datei*"

Dieser Befehl sucht im Verzeichnis /home/benutzer nach allen Dateien, deren Name die Zeichenfolge "datei" enthält.

Groß- und Kleinschreibung beachten

Standardmäßig ignoriert 'find' die Groß- und Kleinschreibung. Um nach Dateien mit exakter Groß- und Kleinschreibung zu suchen, verwende die Option -namec oder -inamec. Beispiel:

find /home/benutzer -namec "Datei.txt"

Dieser Befehl sucht im Verzeichnis /home/benutzer nach der Datei "Datei.txt" und unterscheidet dabei zwischen Groß- und Kleinschreibung.

Suche nach exakten Übereinstimmungen oder Teilübereinstimmungen

Bei der Suche nach Dateien nach Namen kannst du nach exakten Übereinstimmungen oder Teilübereinstimmungen suchen.

Exakte Übereinstimmungen

Um nach einem exakten Dateinamen zu suchen, verwende die Option -name. Beispielsweise sucht der folgende Befehl nach der Datei "myfile.txt":

find / -name myfile.txt

Teilübereinstimmungen

Um nach Teilübereinstimmungen zu suchen, verwende die Option -iname. Beispielsweise sucht der folgende Befehl nach allen Dateien, die die Zeichenfolge "myfile" im Namen enthalten:

find / -iname *myfile*

Wenn du bei der Teilübereinstimmung nach Groß- und Kleinschreibung suchen möchtest, verwende die Option -regex. Beispielsweise sucht der folgende Befehl nach Dateien, die mit "myfile" beginnen:

find / -regex "^myfile.*"

Einschränken der Suche auf bestimmte Verzeichnisse oder Dateitypen

Du kannst die Suche mit dem Befehl find auf bestimmte Verzeichnisse oder Dateitypen eingrenzen, um die Ergebnisse zu verfeinern.

Suche in bestimmten Verzeichnissen

Um die Suche auf ein bestimmtes Verzeichnis einzugrenzen, verwende die Option -path. Gib den vollständigen Pfad zum Verzeichnis an, inklusive einem nachgestellten Schrägstrich /.

find /home/benutzername -path /home/benutzername/Dokumente

Diese Suche würde nur Dateien im Verzeichnis /home/benutzername/Dokumente und seinen Unterverzeichnissen zurückgeben.

Suche nach bestimmten Dateitypen

Um die Suche auf bestimmte Dateitypen einzuschränken, verwende die Option -type. Du kannst aus folgenden Dateitypen auswählen:

  • f - reguläre Datei
  • d - Verzeichnis
  • l - symbolischer Link
  • s - Socket
  • p - Pipe

Um beispielsweise nach Textdateien zu suchen, würdest du Folgendes eingeben:

find /home/benutzername -type f -name *.txt

Diese Suche würde alle Textdateien mit der Endung .txt im Verzeichnis /home/benutzername zurückgeben.

Verwendung von Platzhaltern für dynamische Suchen

Platzhalter sind eine leistungsstarke Funktion, die dir hilft, deine Suche flexibel zu gestalten. Sie ermöglichen es dir, eine Vielzahl von Dateinamen mit einem einzigen Befehl zu finden.

Der Platzhalter '*'

Der Platzhalter * steht für eine beliebige Anzahl von Zeichen in einem Dateinamen. Du kannst ihn verwenden, um nach Dateien mit einem bestimmten Präfix oder Suffix zu suchen. Beispielsweise findet der Befehl find /home/benutzer -name '*.txt' alle Dateien im Verzeichnis /home/benutzer, die mit der Endung .txt enden.

Der Platzhalter '?'

Der Platzhalter ? steht für genau ein Zeichen in einem Dateinamen. Er ist nützlich für die Suche nach Dateien mit einem unbekannten Zeichen. Beispielsweise findet der Befehl find /home/benutzer -name 'datei??.txt' alle Dateien im Verzeichnis /home/benutzer, die den Namen "datei" und zwei unbekannte Zeichen vor der Endung .txt haben.

Kombination von Platzhaltern

Du kannst Platzhalter kombinieren, um komplexe Suchen durchzuführen. Beispielsweise findet der Befehl find /home/benutzer -name '*[0-9]*' alle Dateien im Verzeichnis /home/benutzer, die eine Zahl im Dateinamen enthalten.

Tipps zur Verwendung von Platzhaltern

  • Verwende Platzhalter sparsam, da sie die Suche verlangsamen können.
  • Verwende Anführungszeichen um Suchbegriffe mit Platzhaltern, um Verwechslungen mit Shell-Expansionen zu vermeiden.
  • Beachte, dass Platzhalter keine Verzeichnisse finden. Verwende den Befehl -type d zusammen mit Platzhaltern, um Verzeichnisse zu finden.

Suche nach Dateien mit Groß- und Kleinschreibung

Beim Auffinden von Dateien nach Namen mit find kannst du angeben, ob die Groß- und Kleinschreibung beachtet werden soll oder nicht.

Exakte Übereinstimmungen mit Groß- und Kleinschreibung

Um nach Dateien zu suchen, die exakt mit einem bestimmten Namen, einschließlich Groß- und Kleinschreibung, übereinstimmen, verwendest du die Option -name.

find /verzeichnis -name "DateiName"

Diese Suche findet z. B. die Datei DateiName, aber nicht dateiname oder DATEINAME.

Teilübereinstimmungen mit Groß- und Kleinschreibung

Wenn du nach Dateien suchen möchtest, die einen bestimmten Teilstring im Namen enthalten, aber nicht unbedingt mit exakter Groß- und Kleinschreibung übereinstimmen, verwendest du die Option -iname.

find /verzeichnis -iname "teilzeichen"

Diese Suche würde z. B. sowohl Teilzeichen als auch TEILZEICHEN finden.

Berücksichtigung der Groß- und Kleinschreibung bei der Suche

Standardmäßig beachtet find keine Groß- und Kleinschreibung. Wenn du die Groß- und Kleinschreibung jedoch beachten möchtest, kannst du die Option -cs oder -csf verwenden.

find /verzeichnis -cs -name "DateiName"

Diese Suche findet nur Dateien mit dem genauen Namen DateiName.

find /verzeichnis -csf -name "DateiName"

Diese Suche findet nur Dateien, deren Name mit DateiName beginnt.

Suche nach Dateien mit Sonderzeichen im Namen

Wenn du nach Dateien suchst, die Sonderzeichen in ihrem Namen enthalten, wie z. B. Leerzeichen, Bindestriche oder Punkte, musst du die Syntax von find anpassen.

Verwendung von Escape-Zeichen

Um Sonderzeichen in der Namenssuche zu verwenden, musst du ihnen ein Escape-Zeichen voranstellen. Das Escape-Zeichen ist der Backslash \.

Beispiel: Um nach einer Datei mit dem Namen "Meine Datei.txt" zu suchen, verwendest du folgenden Befehl:

find / -name "Meine\ Datei.txt"

Behandlung von Leerzeichen

Leerzeichen in Dateinamen stellen eine besondere Herausforderung dar, da sie die Befehlsargumente trennen. Um Leerzeichen in der Namenssuche zu handhaben, kannst du Folgendes tun:

  • Einfache Anführungszeichen verwenden: find / -name 'Meine Datei.txt'
  • Den Befehl xargs verwenden: find / -name Meine\ Datei.txt | xargs echo

Überlegungen

  • Du musst die Escape-Zeichen korrekt platzieren. Fehlen sie oder sind sie falsch platziert, führt dies zu Fehlern.
  • Denke daran, dass Escape-Zeichen auch in anderen Teilen des Befehls erforderlich sein können, z. B. bei der Angabe von Verzeichnispfaden.
  • Platzhalter (* und ?) können auch bei der Suche nach Dateien mit Sonderzeichen verwendet werden. Verwende jedoch Escape-Zeichen, um sicherzustellen, dass sie nicht als Shell-Metazeichen interpretiert werden.

Suchen und Auflisten der gefundenen Dateien

Nachdem du deine Suche durchgeführt hast, möchtest du dir die gefundenen Dateien ansehen. Mit dem find-Befehl kannst du die Dateien auflisten lassen.

Auflisten aller gefundenen Dateien

Um alle gefundenen Dateien aufzulisten, verwende die Option -ls (long listing). Diese Option zeigt detaillierte Informationen zu jeder Datei an, wie Dateiname, Größe, Datum der letzten Änderung und Berechtigungen.

find /home -name "*.txt" -ls

Nur Dateinamen auflisten

Wenn du nur die Dateinamen der gefundenen Dateien anzeigen möchtest, verwende die Option -print. Diese Option gibt die Dateinamen als einzelne Zeilen aus.

find /home -name "*.txt" -print

Suchen und Auflisten von Dateien in einem bestimmten Verzeichnis

Du kannst die Suche auf ein bestimmtes Verzeichnis beschränken, indem du die Option -path verwendest. Dies ist hilfreich, wenn du nur Dateien in einem bestimmten Unterverzeichnis finden möchtest.

find /home -path "/home/user/Dokumente/*.txt" -print

Suchen und Auflisten von Dateien nach Größe

Du kannst auch nach Dateien mit einer bestimmten Größe suchen, indem du die Optionen -size oder -size verwendest. -size nimmt einen numerischen Wert gefolgt von einem Größenbezeichner (k für Kilobyte, M für Megabyte usw.) an. -size hingegen vergleicht die Dateigröße mit einem Wert, der in Blöcken angegeben wird (jeder Block ist 512 Byte groß).

find /home -size 100k -print
find /home -size +10M -print

Suchen und Ausführen von Aktionen für die gefundenen Dateien

Sobald du die gewünschten Dateien gefunden hast, kannst du verschiedene Aktionen für sie ausführen.

Aktionen auf einzelne Dateien anwenden

Mit dem Befehl find kannst du einzelne Aktionen auf jede gefundene Datei anwenden. Dies kann mit der Option -exec geschehen, gefolgt vom auszuführenden Befehl und einem Semikolon (;). Beispielsweise kannst du die Größen aller gefundenen Dateien mit dem Befehl -exec ls -l {} + anzeigen:

find / -name "dateiname" -exec ls -l {} +

Aktionen auf mehrere Dateien gleichzeitig anwenden

Wenn du eine Aktion auf mehrere Dateien gleichzeitig anwenden möchtest, kannst du die Option -print0 in Kombination mit dem Hilfsmittel xargs verwenden. Dies ist besonders nützlich für Befehle, die mehrere Argumente akzeptieren. Beispielsweise kannst du mit dem Befehl -print0 -exec xargs -0 rm alle gefundenen Dateien löschen:

find / -name "dateiname" -print0 -exec xargs -0 rm {}

Skripte für komplexe Aktionen verwenden

Für komplexere Aktionen kannst du ein Skript schreiben und es mit der Option -exec aufrufen. Dies ermöglicht es dir, benutzerdefinierte Aktionen auszuführen, z. B. das Verschieben von Dateien an einen bestimmten Speicherort oder das Ändern ihrer Berechtigungen. Beispielsweise kannst du das folgende Skript move_files.sh erstellen:

#!/bin/bash
mv "$1" /zielverzeichnis

Und es dann mit dem Befehl -exec aufrufen:

find / -name "dateiname" -exec ./move_files.sh {} +

Verwendung externer Tools

Neben den integrierten Optionen von find kannst du auch externe Tools wie grep, sed und awk verwenden, um die gefundenen Dateien zu verarbeiten und Aktionen auszuführen. Dies kann hilfreich sein, wenn du komplexe Such- oder Verarbeitungsoperationen durchführen möchtest.

Beispielsweise kannst du den Befehl grep verwenden, um nach bestimmten Mustern im Inhalt der gefundenen Dateien zu suchen:

find / -name "dateiname" -exec grep "suchmuster" {} +

Weitere Beiträge

Folge uns

Neue Beiträge

JavaScript

Pseudocode Schleife Beispiel: So baust du logische Abläufe sauber auf

AUTOR • Jul 02, 2026
Backend

PHP Request Method auslesen: So prüfst du GET, POST, PUT und DELETE sauber

AUTOR • Jul 02, 2026
Datenbanken

Meilen in km umrechnen: So rechnest du schnell und fehlerfrei

AUTOR • Jul 02, 2026
Datenbanken

1 ha in qm: So viele Quadratmeter sind 1 Hektar

AUTOR • Jul 02, 2026
Frontend

Geburtstag Sprüche: Die besten kurzen, kreativen und passenden Glückwünsche

AUTOR • Jul 02, 2026
Frontend

Sprüche für die Mutter: Die besten Worte für Muttertag, Geburtstag und jeden Anlass

AUTOR • Jul 02, 2026
Frontend

Glückwünsche zur goldenen Hochzeit: Die besten Worte für 50 gemeinsame Jahre

AUTOR • Jul 02, 2026
API & Webservices

Texte für Gästebücher zur Hochzeit: Die besten Ideen für ehrliche, schöne Einträge

AUTOR • Jul 02, 2026
Frontend

Sprüche für Gästebuch Taufe: Die besten kurzen, schönen und persönlichen Worte

AUTOR • Jul 02, 2026
Frontend

HTML öffnen: Umfassende Anleitung zum Erstellen und Anzeigen von Webseiten

AUTOR • Jul 01, 2026
Frontend

Unveiling the Power of HTML Lists: Der praktische Guide für bessere Web Pages

AUTOR • Jul 01, 2026
Frontend

HTML Klasse: Eine umfassende Anleitung zum Zuweisen von Stilen und zum Organisieren von HTML-Elementen

AUTOR • Jul 01, 2026
Frontend

Das Style-Attribut von HTML: So gestalten Sie Ihre Website mit Stil

AUTOR • Jul 01, 2026
Frontend

HTML Dropdown-Menüs: Ein umfassender Leitfaden zur Erstellung anwenderfreundlicher Formulare

AUTOR • Jul 01, 2026
Frontend

HTML Farben ändern: Ein Leitfaden zur Anpassung von Farbelementen in Webseiten

AUTOR • Jul 01, 2026
Frontend

Das Geheimnis von & HTML: Wie du Sonderzeichen souverän verwendest

AUTOR • Jul 01, 2026
Frontend

Bilder in HTML konvertieren mit AI-gestützter Technologie

AUTOR • Jul 01, 2026
Frontend

Professionelle HTML-E-Mail-Erstellung mit Outlook: Ein umfassender Leitfaden

AUTOR • Jul 01, 2026
Frontend

Numerierte HTML-Listen erstellen und stilisieren für bessere Lesbarkeit

AUTOR • Jul 01, 2026
Frontend

HTML Code fuer mailto Links einfach erklaert: So baust du E-Mail-Links richtig ein

AUTOR • Jul 01, 2026

Beliebte Beiträge

Datenbanken

Homoiotherm vs. Poikilotherm: Unterschiede und ihre Bedeutung

AUTOR • Apr 04, 2025
Backend

KFZ Kennzeichen WW: Alles Wichtige zur Zulassung von Fahrzeugen in Westerwaldkreis

AUTOR • Jun 18, 2024
Frontend

VEC Kennzeichen: Alles, was Sie wissen müssen

AUTOR • Jun 18, 2024
DevOps & Deployment

SSH-Konfiguration: Anleitung zum einfachen und sicheren Zugriff

AUTOR • May 06, 2024
API & Webservices

YouTube-DL: Das ultimative Tool zum Herunterladen von YouTube-Videos

AUTOR • May 06, 2024
DevOps & Deployment

Architektur mit Dampf: Eine zeitlose Symbiose

AUTOR • May 06, 2024
DevOps & Deployment

Ping installieren: Eine Schritt-für-Schritt-Anleitung zum Überprüfen der Netzwerkverbindung

AUTOR • May 06, 2024
Backend

PAM: Identitäts- und Zugriffsmanagement unter Linux

AUTOR • May 06, 2024
DevOps & Deployment

Effektives Auffinden von Dateien nach Namen unter Linux

AUTOR • May 06, 2024
DevOps & Deployment

GParted: Das ultimative Tool zur Partitionsverwaltung

AUTOR • May 06, 2024
DevOps & Deployment

Die ultimative Anleitung zur Linux-Server-Verwaltung: Alles, was Sie wissen müssen

AUTOR • May 06, 2024
DevOps & Deployment

Essenzielle Linux vi-Befehle: Ein mächtiges Tool für die Textbearbeitung

AUTOR • May 06, 2024
DevOps & Deployment

Welches Linux ist das beste für Sie? Ein Vergleich der Top-Distributionen

AUTOR • May 06, 2024
DevOps & Deployment

nohup: Hintergrundprozesse im Terminal ohne Unterbrechungen ausführen

AUTOR • May 06, 2024
DevOps & Deployment

Linux: Die ultimative Allzweckwaffe für Ihr technisches Arsenal

AUTOR • May 06, 2024
DevOps & Deployment

Linux 'tee': Das unverzichtbare Tool für flexible Datenverarbeitung

AUTOR • May 06, 2024
DevOps & Deployment

Entpacken von GZIP: So machen Sie Ihre Website schneller und effizienter

AUTOR • May 06, 2024
DevOps & Deployment

Linux from Scratch: Baue dein eigenes Linux-Betriebssystem

AUTOR • May 06, 2024
DevOps & Deployment

Memes für Linux-Enthusiasten: Die lustigen Seiten des Open Source

AUTOR • May 06, 2024
DevOps & Deployment

Kali Linux: Das ultimative Tool für Penetrationstester

AUTOR • May 06, 2024