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.jpg

mdls -name <attribute> <file> — Zeigt ein bestimmtes Metadaten-Attribut.

mdls -name kMDItemContentType document.pdf

mdls -name kMDItemPixelWidth -name kMDItemPixelHeight <file> — Zeigt mehrere bestimmte Attribute.

mdls -name kMDItemPixelWidth -name kMDItemPixelHeight photo.png

mdls -name kMDItemWhereFroms <file> — Zeigt, woher eine Datei heruntergeladen wurde.

mdls -name kMDItemWhereFroms ~/Downloads/installer.pkg

mdls -name kMDItemDurationSeconds <file> — Zeigt die Dauer einer Audio-/Videodatei.

mdls -name kMDItemDurationSeconds song.mp3

Spotlight-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/External

mdutil -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 ~/Projects

mdfind 'kMDItemContentType == "com.apple.application-bundle"' -onlyin /Applications — Listet alle Anwendungen auf.

mdfind 'kMDItemContentType == "com.apple.application-bundle"' -onlyin /Applications

mdfind -name '<filename>' | head -1 | xargs open — Findet eine Datei und öffnet sie sofort.

mdfind -name 'readme.md' | head -1 | xargs open

mdfind '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.

Verwandte Kommandos

  • caffeinate – verhindert, dass der Mac in den Ruhezustand wechselt
  • defaults – liest und schreibt macOS-Einstellungen (Preferences)
  • diskutil – verwaltet Festplatten, Partitionen und Volumes