# defaults — macOS-Einstellungen über die Kommandozeile

> defaults liest und schreibt macOS-Einstellungen: App-Konfigurationen, versteckte System-Tweaks und Werte aus plist-Dateien direkt im Terminal.

Source: https://www.jpkc.com/db/cheatsheets/macos/defaults/

<!-- PROSE:intro -->
`defaults` ist das macOS-Bordmittel, mit dem du Einstellungen direkt im Terminal liest und schreibst – dieselben Werte, die Apps und das System sonst in ihren Property-List-Dateien (plist) ablegen. Jede Einstellung gehört zu einer Domain (etwa `com.apple.dock` oder `com.apple.finder`) und besteht aus einem Schlüssel mit getyptem Wert. Besonders praktisch: Über `defaults` erreichst du auch zahlreiche „versteckte" Tweaks, für die es keine Schalter in den Systemeinstellungen gibt. Dieser Guide zeigt dir die wichtigsten Befehle vom Auslesen über das Schreiben bis zu beliebten Finder-, Dock- und System-Anpassungen.
<!-- PROSE:intro:end -->

## Einstellungen lesen

`defaults read` — Zeigt alle User-Defaults über sämtliche Domains hinweg.

```bash
defaults read
```

`defaults read <domain>` — Zeigt alle Einstellungen einer bestimmten App/Domain.

```bash
defaults read com.apple.finder
```

`defaults read <domain> <key>` — Liest einen einzelnen Einstellungsschlüssel aus.

```bash
defaults read com.apple.dock autohide
```

`defaults read-type <domain> <key>` — Zeigt den Datentyp eines Einstellungsschlüssels an.

```bash
defaults read-type com.apple.dock tilesize
```

`defaults domains` — Listet alle Einstellungs-Domains auf.

```bash
defaults domains | tr ',' '\n' | sort
```

`defaults read NSGlobalDomain` — Zeigt die globalen (systemweiten) Einstellungen.

```bash
defaults read NSGlobalDomain
```

## Einstellungen schreiben

`defaults write <domain> <key> -bool <true|false>` — Setzt eine boolesche Einstellung.

```bash
defaults write com.apple.dock autohide -bool true
```

`defaults write <domain> <key> -int <value>` — Setzt eine Ganzzahl-Einstellung.

```bash
defaults write com.apple.dock tilesize -int 36
```

`defaults write <domain> <key> -float <value>` — Setzt eine Fließkomma-Einstellung.

```bash
defaults write com.apple.dock autohide-delay -float 0.0
```

`defaults write <domain> <key> -string '<value>'` — Setzt eine Zeichenketten-Einstellung.

```bash
defaults write com.apple.screencapture type -string png
```

`defaults write <domain> <key> -array <val1> <val2>` — Setzt eine Array-Einstellung.

```bash
defaults write com.apple.dock persistent-apps -array
```

`defaults write NSGlobalDomain <key> <value>` — Setzt eine globale (systemweite) Einstellung.

```bash
defaults write NSGlobalDomain AppleShowAllExtensions -bool true
```

## Einstellungen löschen

`defaults delete <domain> <key>` — Löscht einen einzelnen Einstellungsschlüssel.

```bash
defaults delete com.apple.dock autohide-delay
```

`defaults delete <domain>` — Löscht alle Einstellungen einer Domain.

```bash
defaults delete com.apple.dock
```

## Finder-Anpassungen

`defaults write com.apple.finder AppleShowAllFiles -bool true` — Versteckte Dateien im Finder anzeigen.

```bash
defaults write com.apple.finder AppleShowAllFiles -bool true && killall Finder
```

`defaults write NSGlobalDomain AppleShowAllExtensions -bool true` — Dateiendungen immer anzeigen.

```bash
defaults write NSGlobalDomain AppleShowAllExtensions -bool true && killall Finder
```

`defaults write com.apple.finder ShowPathbar -bool true` — Pfadleiste am unteren Rand des Finders anzeigen.

```bash
defaults write com.apple.finder ShowPathbar -bool true && killall Finder
```

`defaults write com.apple.finder _FXShowPosixPathInTitle -bool true` — Vollständigen POSIX-Pfad in der Finder-Titelleiste anzeigen.

```bash
defaults write com.apple.finder _FXShowPosixPathInTitle -bool true && killall Finder
```

`defaults write com.apple.finder FXDefaultSearchScope -string SCcf` — Standardmäßig den aktuellen Ordner durchsuchen (nicht den ganzen Mac).

```bash
defaults write com.apple.finder FXDefaultSearchScope -string SCcf
```

## Dock-Anpassungen

`defaults write com.apple.dock autohide -bool true` — Automatisches Ausblenden des Docks aktivieren.

```bash
defaults write com.apple.dock autohide -bool true && killall Dock
```

`defaults write com.apple.dock autohide-delay -float 0` — Verzögerung beim Ausblenden des Docks entfernen.

```bash
defaults write com.apple.dock autohide-delay -float 0 && killall Dock
```

`defaults write com.apple.dock tilesize -int <pixels>` — Größe der Dock-Symbole festlegen.

```bash
defaults write com.apple.dock tilesize -int 36 && killall Dock
```

`defaults write com.apple.dock mineffect -string scale` — Minimier-Effekt festlegen (genie, scale, suck).

```bash
defaults write com.apple.dock mineffect -string scale && killall Dock
```

`defaults write com.apple.dock show-recents -bool false` — Zuletzt benutzte Apps im Dock ausblenden.

```bash
defaults write com.apple.dock show-recents -bool false && killall Dock
```

## System-Anpassungen

`defaults write com.apple.screencapture type -string png` — Format für Bildschirmfotos festlegen (png, jpg, pdf, tiff, gif).

```bash
defaults write com.apple.screencapture type -string png
```

`defaults write com.apple.screencapture location -string '<path>'` — Speicherort für Bildschirmfotos festlegen.

```bash
defaults write com.apple.screencapture location -string ~/Screenshots && killall SystemUIServer
```

`defaults write com.apple.screencapture disable-shadow -bool true` — Schatten bei Fenster-Bildschirmfotos deaktivieren.

```bash
defaults write com.apple.screencapture disable-shadow -bool true && killall SystemUIServer
```

`defaults write NSGlobalDomain KeyRepeat -int 2` — Tastenwiederholrate festlegen (niedriger = schneller, Standard 6).

```bash
defaults write NSGlobalDomain KeyRepeat -int 2
```

`defaults write NSGlobalDomain InitialKeyRepeat -int 15` — Verzögerung bis zur Tastenwiederholung festlegen (niedriger = kürzer, Standard 25).

```bash
defaults write NSGlobalDomain InitialKeyRepeat -int 15
```

`defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true` — Verhindert .DS_Store-Dateien auf Netzlaufwerken.

```bash
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
```

<!-- PROSE:outro -->
## Fazit

`defaults` ist der Schlüssel zu macOS-Einstellungen, die kein Bedienfeld kennt – ideal, um neue Macs reproduzierbar einzurichten oder Tweaks in ein Setup-Skript zu gießen. Beachte dabei zwei Dinge: `defaults` schreibt direkt in die Systemeinstellungen, und viele Änderungen greifen erst, nachdem du die betroffene App neu startest – meist mit `killall Dock`, `killall Finder` oder `killall SystemUIServer`. Lies einen Wert im Zweifel zuerst mit `defaults read` aus, bevor du ihn überschreibst, und achte auf die richtige Domain und den passenden Typ: Eine falsche Domain oder ein falscher Datentyp kann Apps durcheinanderbringen oder die Einstellung wirkungslos machen.

## Weiterführende Links

- [defaults – macOS Man Page (ss64.com)](https://ss64.com/mac/defaults.html) – kompakte Referenz aller Optionen mit Beispielen (englisch)
- [Property List Programming Guide (developer.apple.com)](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/PropertyLists/) – Apples Dokumentation zum plist-Format hinter den Defaults (englisch)
<!-- PROSE:outro:end -->

## Verwandte Kommandos

- [caffeinate](https://www.jpkc.com/db/cheatsheets/macos/caffeinate/) – verhindert, dass der Mac in den Ruhezustand wechselt
- [diskutil](https://www.jpkc.com/db/cheatsheets/macos/diskutil/) – verwaltet Festplatten, Partitionen und Volumes
- [dscl](https://www.jpkc.com/db/cheatsheets/macos/dscl/) – durchsucht und bearbeitet die Directory-Service-Datenbank

