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

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

AUTOR • Jun 13, 2026
Systemadministration

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

AUTOR • Jun 13, 2026
Automatisierung & Scripting

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

AUTOR • Jun 13, 2026
Netzwerk & Routing

Linux Routenverwaltung: route add im Detail erklärt für sauberes Routing

AUTOR • Jun 13, 2026
Netzwerk & Routing

Zeitschaltuhren für die Hutschiene: intelligente Zeitsteuerung über WLAN ohne Bastelchaos

AUTOR • Jun 13, 2026
Linux-Server

Clear Linux: Das performante und sichere Betriebssystem für Cloud und Desktop im Praxis-Check

AUTOR • Jun 13, 2026
Sicherheit & Hardening

Windows 11 Kennwort Ablauf deaktivieren: So schaltest du das Passwort-Limit sauber aus

AUTOR • Jun 13, 2026
Netzwerk & Routing

Zigbee vs WLAN: Welches Smart Home Protokoll ist das richtige fuer Sie?

AUTOR • Jun 13, 2026
Netzwerk & Routing

WLAN Überwachungskameras für den Außenbereich mit 230 Volt Stromversorgung: So wählst du das richtige System

AUTOR • Jun 13, 2026
Netzwerk & Routing

WLAN Verstärker mit LAN Kabel verbinden: So bindest du dein WLAN-Netzwerk nahtlos ein

AUTOR • Jun 13, 2026
Sicherheit & Hardening

Hoymiles Account löschen: So entfernst du dein Konto schnell und sauber

AUTOR • Jun 13, 2026
Sicherheit & Hardening

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

AUTOR • Jun 13, 2026
Systemadministration

So zeigen Sie alle Prozesse unter Linux an: Der umfassende Überblick für schnelle Kontrolle

AUTOR • Jun 13, 2026
Linux-Server

TLP für Linux: Akkulaufzeit und Systemleistung gezielt optimieren

AUTOR • Jun 13, 2026
Cloud & Virtualisierung

Hoymiles Cloud Daten auslesen: So kommst du an deine PV-Daten ohne Umwege

AUTOR • Jun 13, 2026
Netzwerk & Routing

LAN über Steckdose: So baust du eine nahtlose und praktische Vernetzung auf

AUTOR • Jun 13, 2026
Linux-Server

So finden Sie die Linux Mint Versionsnummer: 5 schnelle Wege ohne Rätselraten

AUTOR • Jun 13, 2026
Systemadministration

Hostnamen unter Linux ändern: Schritt-für-Schritt-Anleitung für alle wichtigen Systeme

AUTOR • Jun 13, 2026
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

Beliebte Beiträge

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
Netzwerk & Routing

Wassermelder WLAN Fritzbox: Effiziente Lösungen für Ihr Zuhause

AUTOR • Dec 12, 2024
Linux-Server

Der Linux "version"-Befehl: Deine Quelle für Systeminformationen

AUTOR • Apr 17, 2024
Linux-Server

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

AUTOR • Apr 17, 2024
Linux-Server

Conda auf Ubuntu installieren: Eine Schritt-für-Schritt-Anleitung

AUTOR • Apr 17, 2024
Systemadministration

Entfernen eines Benutzers aus einer Gruppe unter Linux: Eine umfassende Anleitung

AUTOR • Apr 17, 2024
Linux-Server

Die ultimative Anleitung zu Linux-Hex-Editoren: Daten manipulieren wie ein Profi

AUTOR • Apr 17, 2024
Automatisierung & Scripting

Linux 'dd': Ein mächtiges Tool für die Datenmanipulation und -verwaltung

AUTOR • Apr 17, 2024
Netzwerk & Routing

Tablet drahtlos mit Drucker verbinden – Schritt-für-Schritt-Anleitung für WLAN

AUTOR • Apr 19, 2024
Systemadministration

Schneller Benutzerwechsel unter Linux: Anleitung für nahtloses Umschalten

AUTOR • Apr 17, 2024
Systemadministration

Linux finden: So suchen und finden Sie Dateien, Verzeichnisse und mehr

AUTOR • Apr 17, 2024
Systemadministration

Linux-Festplattenspeicherbedarf ermitteln: Ein umfassender Leitfaden

AUTOR • Apr 17, 2024
Netzwerk & Routing

WLAN-Signal simpel teilen: Schritt-für-Schritt-Anleitung für alle Geräte

AUTOR • May 09, 2024
Netzwerk & Routing

Teckin SP22 verbinden: Schritt-für-Schritt-Anleitung

AUTOR • Dec 12, 2024
Cloud & Virtualisierung

Hoymiles WLAN: Vernetzte Solaranlagen steuern und überwachen

AUTOR • Apr 19, 2024
Netzwerk & Routing

Alles über ALHP.GO: Ihr Leitfaden zur optimierten Websuche

AUTOR • Jun 12, 2024
Linux-Server

TimeShift Linux: Erstellen Sie mühelos Snapshots zur Datensicherung

AUTOR • Apr 17, 2024
Netzwerk & Routing

WLAN-Kosten im Überblick: So viel zahlen Sie monatlich

AUTOR • Apr 19, 2024
Netzwerk & Routing

Erstellen einer WLAN-Bridge: Bauen Sie eine drahtlose Verbindung über zwei Netzwerke

AUTOR • Apr 19, 2024