Linux: fd
12. Juni 2025
Das Unix-Tool find
ist seit Jahrzehnten der Standard für die Dateisuche in Linux-Systemen. Mit fd
steht jedoch eine moderne Alternative zur Verfügung, die durch verbesserte Performance, einfachere Syntax und zeitgemäße Features überzeugt.
Installation
Ubuntu/Debian
# Ubuntu/Debian
sudo apt install fd-find
# macOS
brew install fd
Grundlegende Syntax und Verwendung
Die Grundsyntax von fd
ist deutlich intuitiver als die von find
:
fd [PATTERN] [PATH]
Einfache Dateisuche
# Alle Dateien mit "config" im Namen finden
fd config
# Suche in spezifischem Verzeichnis
fd config /etc
# Regex-Pattern verwenden
fd "\.py$"
Vergleich mit find
# find-Syntax
find . -name "*.py" -type f
# fd-Syntax
fd "\.py$"
Erweiterte Features
Dateitype-Filter
# Nur Dateien
fd config -t f
# Nur Verzeichnisse
fd config -t d
# Nur ausführbare Dateien
fd config -t x
# Nur symbolische Links
fd config -t l
Größen- und Zeitfilter
# Dateien größer als 1MB
fd -S +1M
# Dateien kleiner als 500KB
fd -S -500k
# Dateien, die in den letzten 7 Tagen geändert wurden
fd --changed-within 7d
# Dateien älter als 30 Tage
fd --changed-before 30d
Erweiterte Suchoptionen
# Case-insensitive Suche
fd -i CONFIG
# Versteckte Dateien einschließen
fd -H config
# .gitignore-Dateien ignorieren
fd --no-ignore config
# Tiefe der Rekursion begrenzen
fd config -d 3
# Absolute Pfade ausgeben
fd config -a
Praktische Anwendungsbeispiele
Log-Dateien analysieren
# Alle .log-Dateien der letzten 24 Stunden
fd "\.log$" --changed-within 1d
# Große Log-Dateien finden
fd "\.log$" -S +10M
Entwicklungsumgebung
# Alle Python-Dateien in einem Projekt
fd "\.py$" --exclude "__pycache__"
# Konfigurationsdateien finden
fd -e conf -e cfg -e ini
# Backup-Dateien finden
fd "\.bak$" -H
System-Administration
# Temporäre Dateien finden
fd -e tmp -e temp
# Große Dateien identifizieren
fd . -S +100M -t f
# Leere Verzeichnisse finden
fd . -t d --exec-batch rmdir
Integration mit anderen Tools
Kombination mit grep
# In Python-Dateien nach bestimmten Mustern suchen
fd "\.py$" --exec grep -l "import pandas"
Verwendung mit xargs
# Alle Python-Dateien formatieren
fd "\.py$" | xargs black
Pipeline mit anderen Commands
# Dateien kopieren
fd "\.conf$" /etc | xargs -I {} cp {} /backup/
# Berechtigungen ändern
fd "\.sh$" --exec chmod +x
Fazit
fd
stellt eine deutliche Verbesserung gegenüber dem klassischen find
-Tool dar. Die intuitivere Syntax, bessere Performance und sinnvollen Standardeinstellungen machen es zu einer attraktiven Alternative.