mdfind — Spotlight-Suche auf der Kommandozeile
Praxis-Guide zu mdfind: macOS-Spotlight-Suche im Terminal — schnelle Datei- und Metadaten-Queries über den Spotlight-Index, plus mdls und mdutil.
mdfind durchsucht den Spotlight-Index direkt von der Kommandozeile – und ist damit deutlich schneller als find, weil es keine Verzeichnisse durchläuft, sondern eine fertige Datenbank abfragt. Du suchst nicht nur nach Dateinamen, sondern auch nach Inhalten und Metadaten: Bilder ab einer bestimmten Auflösung, Dateien aus einem bestimmten Download, alles seit gestern Geänderte. Mit kMDItem-Attributen formulierst du dabei erstaunlich präzise Abfragen. Dieser Guide zeigt dir die wichtigsten Befehle für den Alltag – ergänzt um mdls zum Auslesen der Metadaten einer Datei und mdutil zur Verwaltung des Index selbst.
mdfind — Basis-Suche
mdfind '<query>' — Sucht Dateien, die zu einer Abfrage passen (wie Spotlight).
mdfind 'invoice 2026'mdfind -name '<filename>' — Sucht nur nach dem Dateinamen.
mdfind -name 'docker-compose.yml'mdfind -onlyin <dir> '<query>' — Beschränkt die Suche auf ein bestimmtes Verzeichnis.
mdfind -onlyin ~/Projects 'TODO'mdfind -count '<query>' — Zeigt nur die Anzahl der Treffer.
mdfind -count -name '*.pdf'mdfind -live '<query>' — Beobachtet fortlaufend neue Treffer (Live-Abfrage).
mdfind -live 'screenshot'mdfind — Metadaten-Abfragen
mdfind 'kMDItemContentType == "<type>"' — Findet Dateien anhand des Inhaltstyps (UTI).
mdfind 'kMDItemContentType == "public.png-image"'mdfind 'kMDItemKind == "<kind>"' — Findet Dateien anhand ihrer Art (Kind).
mdfind 'kMDItemKind == "PDF Document"'mdfind 'kMDItemFSSize > <bytes>' — Findet Dateien, die größer als eine bestimmte Größe sind.
mdfind 'kMDItemFSSize > 100000000'mdfind 'kMDItemContentModificationDate > $time.today(-7)' — Findet Dateien, die in den letzten 7 Tagen geändert wurden.
mdfind 'kMDItemContentModificationDate > $time.today(-7)'mdfind 'kMDItemWhereFroms == "*example.com*"' — Findet Dateien, die von einer bestimmten Domain heruntergeladen wurden.
mdfind 'kMDItemWhereFroms == "*github.com*"'mdfind 'kMDItemPixelWidth > 3000 && kMDItemContentType == "public.jpeg"' — Findet hochauflösende JPEG-Bilder.
mdfind 'kMDItemPixelWidth > 3000 && kMDItemContentType == "public.jpeg"'mdls — Datei-Metadaten
mdls <file> — Zeigt alle Spotlight-Metadaten-Attribute einer Datei.
mdls photo.jpgmdls -name <attribute> <file> — Zeigt ein bestimmtes Metadaten-Attribut.
mdls -name kMDItemContentType document.pdfmdls -name kMDItemPixelWidth -name kMDItemPixelHeight <file> — Zeigt mehrere bestimmte Attribute.
mdls -name kMDItemPixelWidth -name kMDItemPixelHeight photo.pngmdls -name kMDItemWhereFroms <file> — Zeigt, woher eine Datei heruntergeladen wurde.
mdls -name kMDItemWhereFroms ~/Downloads/installer.pkgmdls -name kMDItemDurationSeconds <file> — Zeigt die Dauer einer Audio-/Videodatei.
mdls -name kMDItemDurationSeconds song.mp3Spotlight-Index verwalten
mdutil -s / — Zeigt den Indexierungs-Status von Spotlight für ein Volume.
mdutil -s /mdutil -i on / — Aktiviert die Spotlight-Indexierung für ein Volume.
sudo mdutil -i on /mdutil -i off <volume> — Deaktiviert die Spotlight-Indexierung für ein Volume.
sudo mdutil -i off /Volumes/Externalmdutil -E / — Löscht den Spotlight-Index und baut ihn neu auf.
sudo mdutil -E /Häufige Muster
mdfind -name '.env' -onlyin ~/Projects — Findet alle .env-Dateien in deinen Projekten.
mdfind -name '.env' -onlyin ~/Projectsmdfind 'kMDItemContentType == "com.apple.application-bundle"' -onlyin /Applications — Listet alle Anwendungen auf.
mdfind 'kMDItemContentType == "com.apple.application-bundle"' -onlyin /Applicationsmdfind -name '<filename>' | head -1 | xargs open — Findet eine Datei und öffnet sie sofort.
mdfind -name 'readme.md' | head -1 | xargs openmdfind 'kMDItemFSCreationDate > $time.today(-1)' -onlyin ~/Downloads — Findet heute heruntergeladene Dateien.
mdfind 'kMDItemFSCreationDate > $time.today(-1)' -onlyin ~/Downloads Fazit
mdfind ist auf indizierten Volumes fast immer die schnellere Wahl als find: Es fragt den fertigen Spotlight-Index ab, statt das Dateisystem zu durchwandern. Der wichtigste Vorbehalt: Gefunden wird nur, was auch indiziert ist – Systempfade, ausgeschlossene Ordner oder Volumes mit deaktivierter Indexierung tauchen nicht auf. Prüfe im Zweifel mit mdutil -s den Status und nutze mdls, um die kMDItem-Attribute einer Datei zu sehen, mit denen du deine Abfragen verfeinerst. Wer einmal verstanden hat, wie Spotlight Metadaten erhebt, ersetzt damit viele umständliche find-Konstruktionen durch eine einzige präzise Query.
Weiterführende Links
- mdfind – man-Page (Apple Developer) – offizielle Referenz zu Optionen und Abfrage-Syntax (englisch)
- File Metadata Query Expression Syntax – Übersicht der
kMDItem-Attribute (englisch)
Verwandte Kommandos
- caffeinate – verhindert, dass der Mac in den Ruhezustand wechselt
- defaults – liest und schreibt macOS-Einstellungen (Preferences)
- diskutil – verwaltet Festplatten, Partitionen und Volumes