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

Systemadministration

Linux screen command: mehrere Sitzungen auf einem Terminal steuern

AUTOR • Jun 13, 2026
Linux-Server

Erstellen von symbolischen Links in Linux: Die Schritt-für-Schritt-Anleitung, die sofort funktioniert

AUTOR • Jun 13, 2026
Netzwerk & Routing

Drahtlosfehler aufdecken beim Debugging über WLAN: So findest du die Ursache schnell

AUTOR • Jun 13, 2026
Netzwerk & Routing

Yeedi mit WLAN verbinden: Schritt-für-Schritt-Anleitung für stabile App-Steuerung

AUTOR • Jun 13, 2026
Netzwerk & Routing

Mobiler WLAN Router: Funktionsweise, Vorteile und alles, was du wissen musst

AUTOR • Jun 13, 2026
Sicherheit & Hardening

FRITZ!Box Gastzugang zeitlich begrenzen: So steuerst du WLAN-Zugriff sauber und sicher

AUTOR • Jun 13, 2026
Linux-Server

Bootfähigen Linux USB Stick erstellen: Schritt-für-Schritt Anleitung ohne Fehler

AUTOR • Jun 13, 2026
Netzwerk & Routing

Der ultimative Leitfaden zum O2 Router: Installation, Konfiguration und Optimierung

AUTOR • Jun 13, 2026
Netzwerk & Routing

Langsames WLAN der FritzBox: Ursachen und Lösungen, die wirklich helfen

AUTOR • Jun 13, 2026
Automatisierung & Scripting

So setzen Sie Umgebungsvariablen unter Linux: Die sauberen Wege für Shell, Session und dauerhaft

AUTOR • Jun 13, 2026
Sicherheit & Hardening

IPv6 in Debian deaktivieren: So schaltest du es sauber und sicher aus

AUTOR • Jun 13, 2026
Linux-Server

Bootfähigen USB-Stick für Ubuntu mit Ventoy erstellen: Der schnelle Weg ohne Stress

AUTOR • Jun 13, 2026
Netzwerk & Routing

HP Drucker mit WLAN verbinden: Schritt-für-Schritt-Anleitung für stabile Verbindung und stressfreies Drucken

AUTOR • Jun 13, 2026
Netzwerk & Routing

OpenWrt auf Fritzbox installieren: So machst du deine Fritzbox zum flexiblen Router

AUTOR • Jun 13, 2026
Automatisierung & Scripting

Entpacken von TAR-Archiven unter Linux: Schritt-für-Schritt-Anleitung für TAR, TAR.GZ und TAR.BZ2

AUTOR • Jun 13, 2026
Systemadministration

Hostname unter Ubuntu ändern: Schritt-für-Schritt-Anleitung für Desktop und Server

AUTOR • Jun 13, 2026
Netzwerk & Routing

DNS-Cache unter Linux leeren: So behebe ich Verbindungsprobleme schnell und sauber

AUTOR • Jun 13, 2026
Linux-Server

Notepad für Linux: Ein Text- und Code-Editor, der wirklich produktiv macht

AUTOR • Jun 13, 2026
Sicherheit & Hardening

SSH für Linux: Sichere Remote-Verbindungen herstellen und verwalten

AUTOR • Jun 13, 2026
Netzwerk & Routing

Fire TV Stick ohne WLAN per Handy verbinden: Schritt-für-Schritt-Anleitung für den Notfall

AUTOR • Jun 13, 2026

Beliebte Beiträge

Systemadministration

Ändern des Hostnamens unter Linux: Eine Schritt-für-Schritt-Anleitung

AUTOR • Apr 17, 2024
Linux-Server

So finden Sie die Linux Mint-Versionsnummer

AUTOR • Apr 17, 2024
Netzwerk & Routing

LAN über Steckdose: Eine nahtlose und praktische Vernetzung

AUTOR • May 09, 2024
Cloud & Virtualisierung

Effizientes Auslesen von Hoymiles Cloud-Daten: So funktioniert's

AUTOR • Jun 18, 2025
Linux-Server

TLP für Linux: Optimierung der Akkulaufzeit und Systemleistung

AUTOR • Apr 17, 2024
Systemadministration

So zeigen Sie alle Prozesse unter Linux an: Ein umfassender Überblick

AUTOR • Apr 17, 2024
Sicherheit & Hardening

Solarwechselrichter Richtig Einstellen: Eine Schritt-für-Schritt-Anleitung

AUTOR • May 10, 2025
Sicherheit & Hardening

Hoymiles Account Löschen: Eine Schritt-für-Schritt-Anleitung

AUTOR • Dec 12, 2024
Netzwerk & Routing

WLAN-Verstärker mit LAN-Kabel: Verbinden Sie Ihr WLAN-Netzwerk nahtlos

AUTOR • Apr 19, 2024
Netzwerk & Routing

WLAN-Überwachungskameras für den Außenbereich mit 230-Volt-Stromversorgung

AUTOR • May 09, 2024
Netzwerk & Routing

Zigbee vs. WLAN: Welches Smart-Home-Protokoll ist das Richtige für Sie?

AUTOR • May 09, 2024
Sicherheit & Hardening

So deaktivierst du den Kennwortablauf in Windows 11: Eine Schritt-für-Schritt-Anleitung

AUTOR • Jun 08, 2025
Linux-Server

Clear Linux: Ein performantes und sicheres Betriebssystem für Cloud und Desktop

AUTOR • Jul 22, 2024
Netzwerk & Routing

Zeitschaltuhren für die Hutschiene: Intelligente Zeitsteuerung über WLAN

AUTOR • Apr 19, 2024
Netzwerk & Routing

Linux-Routenverwaltung: 'route add' im Detail

AUTOR • Apr 17, 2024
Automatisierung & Scripting

Linux-Umgebungsvariablen: Das ultimative Handbuch für die Anpassung Ihrer Shell

AUTOR • Apr 17, 2024
Systemadministration

chown: So ändern Sie den Besitzer von Dateien und Verzeichnissen unter Unix

AUTOR • Apr 17, 2024
Systemadministration

Erstellung neuer Dateien in Linux: Eine Schritt-für-Schritt-Anleitung

AUTOR • Apr 17, 2024
Systemadministration

So fügen Sie Pfade in Linux hinzu: Eine Schritt-für-Schritt-Anleitung

AUTOR • Apr 17, 2024
Netzwerk & Routing

Ucomen Wlan Steckdose wird nicht erkannt: Ursachen und Lösungen

AUTOR • Jul 01, 2024