find ist dein Schweizer Taschenmesser für Dateisuche und -automation unter Linux und damit ein klares Must-have für die RHCSA‑Prüfung. Im Gegensatz zu locate arbeitet find immer in Echtzeit auf dem Dateisystem und kann gefundene Dateien direkt mit anderen Befehlen verarbeiten.
Warum du find können musst
Als Admin brauchst du find, um schnell Dateien anhand von Namen, Typ, Größe, Zeitstempeln, Besitzer oder Rechten zu finden – genau solche Aufgaben tauchen auch im RHCSA‑Kontext auf (Suche, Dateirechte, Aufräumen, Skripting). Außerdem kannst du mit find direkt Aktionen ausführen, etwa Logs löschen, Berechtigungen anpassen oder Ergebnisse für Skripte vorbereiten.RHCSA-Ziele.
Grundsyntax von find
Die typische Struktur ist:
find <pfad> <ausdruck>– durchsucht einen Pfad mit einem Ausdruck aus Tests und Aktionen.linuxcert- Du kannst mehrere Tests kombinieren (z.B. Typ, Name, Größe) und am Ende eine Aktion wie
-printoder-execanhängen.linuxconfig+1
Beispiele:
find /etc -type f -name "*.conf"
find /var/log -type f -size +100M
Wichtige Optionen im RHCSA‑Alltag
Hier ein Fokus auf Optionen, die du sowohl in der Praxis als auch in der Prüfung oft brauchst.RHCSA-Ziele.mdlinuxcert
-name/-iname
Sucht nach Dateinamen,-inameist dabei nicht case‑sensitiv.
find /home -name "backup*.tar"
-type
Filtert nach Dateityp, etwa-type f(reguläre Datei),-type d(Verzeichnis),-type l(Symlink).
find /var -type d -empty
-size
Sucht nach Dateigrößen; z.B.+100Mgrößer als 100 MB,-1kkleiner als 1 KB.
find / -type f -size +500M
-user/-group
Findet Dateien eines bestimmten Users oder einer Gruppe, nützlich für Berechtigungs‑Audits.
find /home -user student
-perm
Sucht nach Rechten, z.B. SUID‑Bit – klassischer RHCSA‑Use‑Case.
find / -perm -4000 -type f
-mtime,-atime,-ctime
Filter nach Änderungs‑, Zugriffs‑ oder Statuszeit in Tagen; mit+älter, mit-neuer als N Tage.
find /var/log -type f -mtime +7
Aktionen: -print, -delete und -exec
Aktionen bestimmen, was mit den gefundenen Dateien passiert.
- Standard ist
-print
Gibt den Pfad einfach aus, oft implizit.
find /tmp -type f -name "*.tmp" -print
-delete
Löscht die gefundenen Dateien direkt; funktioniert nur sicher, wenn der Ausdruck vorher richtig einschränkt.
find /tmp -type f -name "*.tmp" -delete
-exec
Führt einen Befehl für jede gefundene Datei aus;{}steht für den Dateinamen, abgeschlossen wird mit\;oder+.
ind /var/log -type f -name "*.log" -exec chmod 640 {} \;
locate kurz eingeordnet
locate ist die Turbo‑Variante, wenn du „nur schnell wissen willst, wo etwas liegt“.
locatedurchsucht eine vorberechnete Datenbank (meist täglich durchupdatedberzeugt) und ist dadurch extrem schnell.- Dafür sieht
locateneue Dateien erst nach dem nächsten Datenbank‑Update und bietet kaum Filter – im Prinzip nur Namenssuche.
Wenn du also frisch angelegte Dateien prüfen, nach Rechten/Größen/Zeit filtern oder direkt Aktionen ausführen willst, gehört find ins Werkzeugset – und damit automatisch in deine RHCSA‑Vorbereitung.
-exec vs Pipe vs xargs
Für die Verarbeitung der Ergebnisse hast du drei typische Wege: -exec, eine Pipe zu einem anderen Kommando oder xargs.
Überblick
| Technik | Funktionsweise | Vorteile | Nachteile |
|---|---|---|---|
-exec ... \; | Befehl pro Datei | Einfach, klar, ohne extra Tool | Viele Prozesse, langsamer bei vielen Dateien |
-exec ... + | Mehrere Dateien pro Aufruf | Effizienter, POSIX‑konform, robust | Nicht jeder kennt die Syntax |
| Pipe ` | ` | Übergibt Pfade auf STDOUT an ein anderes Programm | Flexibel, kombinierbar mit Tools wie grep |
xargs | Baut aus Eingabe Argumentlisten für Befehle | Sehr schnell bei vielen Dateien | Vorsicht bei Leerzeichen/Sonderzeichen |
Wann -exec sinnvoll ist
-exec ist ideal, wenn du wenige bis mittlere Dateimengen hast oder in der Prüfung eine klare, leicht lesbare Einzeiler‑Lösung zeigen willst.
- Du bekommst garantierte, korrekte Behandlung von Dateinamen, auch mit Leerzeichen, wenn du
{}richtig nutzt. - In Kombination mit
\;ist die Ausführung sehr intuitiv: „für jede Datei führe diesen Befehl aus“ – perfekt zum Merken im RHCSA‑Stress.
Beispiel:
find /home -type f -name "*.sh" -exec chmod 750 {} \;
Wann Pipe + xargs besser ist
Bei sehr vielen Dateien kann -exec ... \; langsam werden, weil für jede Datei ein neuer Prozess gestartet wird.
Fazit
Wie du gemerkt hast ist find nicht nur eine Such– sondern auch eine Filter– und Ausführungs-Maschine und ein Mächtiges Werkzeug. Entscheide ob die eingebauten Möglichkeiten der Ausführung zu deinem Workflow passen oder ob Piping oder Befehle wie xargs besser zu der jeweiligen Aufgabe passen. Teste ein paar Optionen und mach dich auf die Suche.
Schreibe einen Kommentar