Harting Development

Linux find exec: So führen Sie Befehle für gefundene Dateien aus

Lukas Fuchs vor 2 Jahren Automatisierung & Scripting 3 Min. Lesezeit

Syntax von 'find exec'

Der Befehl find verfügt über die Option exec mit der du Befehle für die von dir gefundenen Dateien ausführen kannst. Die Syntax von find exec lautet:

find [Optionen] [Pfad] -exec Befehl [Argumente] \;

Pfad

Dies ist der Pfad, in dem du nach Dateien suchen möchtest. Du kannst entweder einen absoluten Pfad (z. B. /home/username) oder einen relativen Pfad (z. B. .) verwenden.

-exec

Dies ist die Option, mit der du dem Befehl find mitteilst, dass er Befehle für die gefundenen Dateien ausführen soll.

Befehl

Dies ist der Befehl, den du für die gefundenen Dateien ausführen möchtest. Es kann jeder Befehl sein, den du in der Eingabeaufforderung deines Terminals ausführen kannst.

Argumente

Dies sind die Argumente, die du dem Befehl übergeben möchtest. Die Argumente können Platzhalter enthalten, die durch den Namen der gefundenen Dateien ersetzt werden. Dies wird im Abschnitt "Wie man Befehle für gefundene Dateien ausführt" näher erläutert.

;

Das Semikolon ist das Trennzeichen, das das Ende des Befehls exec markiert. Es ist wichtig, das Semikolon nicht zu vergessen, da der Befehl find sonst nicht weiß, wo der Befehl exec endet.

Was 'find exec' macht

'find exec' ist ein leistungsstarker Befehl in der Linux-Shell, der es dir ermöglicht, Befehle auf Dateien anzuwenden, die durch den 'find'-Befehl gefunden wurden. Mit 'find exec' kannst du komplexe Skripte erstellen, um Aufgaben zu automatisieren und Zeit zu sparen.

Wie funktioniert 'find exec'?

Der 'find exec'-Befehl durchläuft ein Verzeichnis und seine Unterverzeichnisse und führt den angegebenen Befehl für jede gefundene Datei aus. Die Syntax lautet wie folgt:

find Pfad -exec Befehl +

Dabei ist:

  • Pfad: Der Pfad zum Verzeichnis, in dem nach Dateien gesucht werden soll.
  • -exec: Die Option, die angibt, dass ein Befehl ausgeführt werden soll.
  • Befehl: Der Befehl, der ausgeführt werden soll.
  • +: Das Pluszeichen, das das Ende des Befehls angibt.

Warum 'find exec' verwenden?

'find exec' bietet eine Reihe von Vorteilen gegenüber anderen Methoden zur Ausführung von Befehlen auf Dateien:

  • Automatisierung: Du kannst komplexe Aufgaben automatisieren, indem du Befehle auf große Mengen von Dateien anwendest.
  • Zeiteinsparung: Anstatt jeden Befehl manuell auszuführen, kannst du 'find exec' verwenden, um sie auf einmal auszuführen.
  • Flexibilität: Du kannst eine Vielzahl von Befehlen verwenden, um verschiedene Aktionen auszuführen, wie z. B. das Kopieren, Verschieben, Löschen oder Bearbeiten von Dateien.

Anwendungsfälle für 'find exec'

Automatisierung von Aufgaben für gefundene Dateien

'find exec' ermöglicht es dir, Aufgaben für gefundene Dateien zu automatisieren, was dir viel Zeit und Mühe ersparen kann. Beispielsweise kannst du damit:

  • Dateien verschieben oder kopieren: Verschiebe Dateien in andere Verzeichnisse oder erstelle Kopien davon.
  • Dateien umbenennen: Ändere den Namen von Dateien nach bestimmten Mustern.
  • Dateirechte ändern: Passe die Berechtigungen für gefundene Dateien an.
  • Dateien komprimieren: Komprimiere Dateien mit Tools wie gzip oder bzip2.

Suchen und Bearbeiten von Dateien

'find exec' ist ein leistungsstarkes Tool für die Suche und Bearbeitung von Dateien. Du kannst damit:

  • Dateien basierend auf ihrem Inhalt suchen: Suche nach Dateien, die bestimmte Zeichenfolgen oder Muster enthalten.
  • Dateien nach Größe oder Datum suchen: Finde Dateien, die einer bestimmten Größe oder einem bestimmten Datum entsprechen.
  • Dateien rekursiv durchsuchen: Durchsuche Verzeichnisse und Unterverzeichnisse nach Dateien, die deinen Kriterien entsprechen.
  • Dateien basierend auf Dateityp finden: Suche nach Dateien mit bestimmten Erweiterungen, z. B. .txt oder .jpg.

Fehlersuche und Fehlerbehebung

'find exec' kann auch bei der Fehlersuche und Fehlerbehebung hilfreich sein, indem du damit:

  • Dateien mit ungültigen Berechtigungen identifizieren kannst.
  • Leere oder fehlerhafte Dateien finden kannst.
  • Prozesse identifizieren kannst, die bestimmte Dateien verwenden.

Fortgeschrittene Optionen von 'find exec'

Mehrere Befehle ausführen

Du kannst mehrere Befehle für die gefundenen Dateien ausführen, indem du sie mit einem Semikolon (;) trennst:

find /verzeichnis -type f -exec sh -c 'echo Datei: {} && ls -la {}' \;

Ausnahmen handhaben

Um die Ausführung von Befehlen für bestimmte Dateien oder Verzeichnisse zu verhindern, kannst du die -prune-Option verwenden. Diese weist find an, die Verarbeitung von Übereinstimmungen abzubrechen, die dem angegebenen Muster entsprechen:

find /verzeichnis \( -name .git -prune \) -exec sh -c 'echo Datei: {}' \;

In diesem Beispiel werden Dateien im Verzeichnis .git von der Verarbeitung ausgeschlossen.

Umgebungsvariablen verwenden

Du kannst Umgebungsvariablen in den ausgeführten Befehlen verwenden, indem du die -execdir-Option verwendest:

find /verzeichnis -type d -exec /pfad/zu/skript.sh {} \; -execdir /verzeichnis /anderesskript.sh {} \;

Dadurch wird das erste Skript im Verzeichnis der gefundenen Datei ausgeführt, während das zweite Skript im Verzeichnis /verzeichnis ausgeführt wird.

Max. Tiefe begrenzen

Du kannst die maximale Tiefe beschränken, bis zu der find rekursiv sucht, indem du die -maxdepth-Option verwendest:

find /verzeichnis -maxdepth 3 -exec sh -c 'echo Datei: {}' \;

Dies durchsucht nur bis zur dritten Unterverzeichnisebene.

Versteckte Dateien und Verzeichnisse einschließen

Standardmäßig schließt find versteckte Dateien und Verzeichnisse aus. Um diese einzuschließen, kannst du die -follow-Option verwenden:

find /verzeichnis -follow -name .hidden_datei -exec sh -c 'echo Datei: {}' \;

Dadurch werden auch versteckte Dateien mit dem Namen .hidden_datei gefunden.

Fehlerbehebung bei 'find exec'

Wenn du Probleme bei der Verwendung von 'find exec' hast, solltest du die folgenden Schritte zur Fehlerbehebung ausprobieren:

Überprüfe deine Syntax

Vergewissere dich, dass deine Syntax korrekt ist. Die allgemeine Syntax für 'find exec' lautet:

find Pfad -exec Befehl {} \;

wobei {} die gefundene Datei darstellt.

Überprüfe die Berechtigungen

Stelle sicher, dass du die notwendigen Berechtigungen zum Ausführen des Befehls hast. Wenn du zum Beispiel versuchst, mit 'find exec' eine Datei zu löschen, musst du Schreibzugriff auf die Datei haben.

Überprüfe die Pfadnamen

Überprüfe, ob die angegebenen Pfade gültig sind. Falsche oder nicht vorhandene Pfade können zu Fehlern führen.

Verwende die Option -print0

Wenn deine Pfadnamen Leerzeichen enthalten, verwende die Option -print0, um sie nullterminiert auszugeben. Dies verhindert Probleme mit der Befehlszeilenverarbeitung.

Verwende die Option -ok

Die Option -ok fordert dich auf, vor der Ausführung des Befehls für jede gefundene Datei um Bestätigung zu bitten. Dies kann bei der Fehlerbehebung hilfreich sein.

Aktiviere die Debugging-Ausgabe

Du kannst die Option -x verwenden, um die ausführliche Debugging-Ausgabe zu aktivieren. Dies kann dir helfen, Probleme mit deinem Befehl zu identifizieren.

Überprüfe das Exit-Status

'find exec' gibt einen Exit-Status zurück, der den Status des ausgeführten Befehls angibt. Ein Exit-Status von 0 bedeutet, dass der Befehl erfolgreich ausgeführt wurde, während ein Exit-Status ungleich 0 auf einen Fehler hinweist.

Weitere Beiträge

Folge uns

Neue Beiträge

Linux-Server

Erstellung eines bootfähigen Linux-USB-Sticks: Schritt-für-Schritt-Anleitung

AUTOR • Apr 21, 2026
Beitrag

Sami Lesebär: WLAN-Einrichtung und Nutzung

AUTOR • Apr 21, 2026
Linux-Server

Thunderbird unter Linux: Installation, Konfiguration und Fehlerbehebung

AUTOR • Apr 21, 2026
Netzwerk & Routing

Roborock verbindet sich nicht mit WLAN: Probleme beheben und Lösungen finden

AUTOR • Apr 21, 2026
Netzwerk & Routing

FRITZ!Box 7590: So beheben Sie einen defekten WLAN-Chip

AUTOR • Apr 21, 2026
Linux-Server

Erstellung von Linux-Partitionen: Ein umfassender Leitfaden für die Verwaltung Ihrer Festplatte

AUTOR • Apr 21, 2026
Linux-Server

MX Linux Systemanforderungen: Alles, was du wissen musst

AUTOR • Apr 21, 2026
Linux-Server

Die besten PDF-Reader für Linux: Eine umfassende Übersicht

AUTOR • Apr 21, 2026
Netzwerk & Routing

Hoymiles HM-800: Schritt-für-Schritt-Anleitung zur WLAN-Verbindung

AUTOR • Apr 21, 2026
Systemadministration

Wechselrichter verbindet sich nicht mit WLAN: Problemlösungen und Anleitungen

AUTOR • Apr 21, 2026
Beitrag

FritzBox 7590 Firmware Downgrade: So Geht's

AUTOR • Apr 21, 2026
Beitrag

Anleitung: Home Assistant mit Hoymiles verbinden

AUTOR • Apr 21, 2026
Netzwerk & Routing

Raspberry Pi 4 WLAN-Antenne: Optimierung und Reichweitenerhöhung

AUTOR • Apr 12, 2026
Systemadministration

Schritt-für-Schritt-Anleitung zur Einrichtung von WLAN in Linux

AUTOR • Apr 12, 2026
Cloud & Virtualisierung

Deye Wechselrichter einrichten: Schritt-für-Schritt-Anleitung für eine reibungslose Inbetriebnahme

AUTOR • Apr 10, 2026
Netzwerk & Routing

Verbinden Sie Ihren Sungrow-Wechselrichter ganz einfach mit WLAN

AUTOR • Apr 10, 2026
Systemadministration

Formatieren einer Festplatte unter Linux: Eine umfassende Anleitung

AUTOR • Apr 10, 2026
Linux-Server

Linux-Festplattenklonen: Schritt-für-Schritt-Anleitung zum Duplizieren Ihrer Festplatte

AUTOR • Apr 10, 2026
Systemadministration

Tastaturlayout unter Linux ändern: Eine Schritt-für-Schritt-Anleitung

AUTOR • Apr 10, 2026
Sicherheit & Hardening

Plasma Static Hash: Die Zukunft der Trichomentrennung?

AUTOR • Apr 06, 2026

Beliebte Beiträge

Beitrag

Threema unter Linux verwenden: So gelingt der Einstieg

AUTOR • Jun 18, 2025
Netzwerk & Routing

Landroid verbindet sich nicht mit WLAN: Ursachen und Lösungen

AUTOR • Apr 19, 2024
Netzwerk & Routing

Bluetooth-Signale in WLAN konvertieren: Eine Schritt-für-Schritt-Anleitung

AUTOR • Apr 19, 2024
Beitrag

Linux Mint: Speicherplatz freigeben leicht gemacht

AUTOR • Dec 12, 2024
Netzwerk & Routing

WLAN-Rauchmelder mit FRITZ!Box verbinden: So geht's

AUTOR • Apr 19, 2024
Netzwerk & Routing

NFS-Volumes mit Linux mounten: Anleitung zum effektiven Dateisystemzugriff

AUTOR • Apr 17, 2024
Linux-Server

WhatsApp für Linux: Installation, Einrichtung und Nutzung

AUTOR • Jun 18, 2025
Beitrag

Linux Netzwerk Einrichten: Eine Schritt-für-Schritt-Anleitung

AUTOR • Apr 06, 2025
Linux-Server

Marktdominanz von Linux: Ein Überblick über den aktuellen Stand

AUTOR • Apr 17, 2024
Linux-Server

Linux Mint 32 Bit: Installation, Verwendung und Tipps für ein reibungsloses Erlebnis

AUTOR • Apr 17, 2024
Linux-Server

Die ultimative Anleitung zum Linux-Befehl für Updates

AUTOR • Apr 17, 2024
Sicherheit & Hardening

WLAN-Anmeldeseite erscheint nicht: Ursachen und Lösungen

AUTOR • Apr 19, 2024
Linux-Server

Linux auf USB-Stick installieren: Eine Schritt-für-Schritt-Anleitung

AUTOR • Apr 17, 2024
Linux-Server

Die ultimative Anleitung zur fstab-Datei: Mounten und Konfigurieren von Dateisystemen

AUTOR • Dec 19, 2025
Netzwerk & Routing

Handy-Symbolführer: Bedeutung der Symbole auf Ihrem Smartphone

AUTOR • Apr 19, 2024
Linux-Server

Linux-Browser: Vergleich, Funktionen und Tipps für die beste Wahl

AUTOR • Apr 17, 2024
Sicherheit & Hardening

Linux Mint vergessenes Passwort zurücksetzen: Eine Schritt-für-Schritt-Anleitung

AUTOR • Apr 17, 2024
Linux-Server

Linux Mint installieren: Eine Schritt-für-Schritt-Anleitung für Anfänger

AUTOR • Apr 17, 2024
Linux-Server

So erstellen Sie einen bootfähigen Linux Live USB-Stick: Eine Schritt-für-Schritt-Anleitung

AUTOR • Apr 17, 2024
Linux-Server

OneNote für Linux: Installation, Funktionen und Vorteile

AUTOR • Apr 17, 2024