# pbcopy & pbpaste — die Zwischenablage im Terminal nutzen

> pbcopy und pbpaste verbinden Terminal und macOS-Zwischenablage: Ausgaben kopieren, Inhalte einfügen und bequem in Pipelines weiterverarbeiten.

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

<!-- PROSE:intro -->
`pbcopy` und `pbpaste` sind das Bindeglied zwischen dem Terminal und der macOS-Zwischenablage: `pbcopy` liest von stdin und legt den Inhalt in die Zwischenablage, `pbpaste` gibt deren Inhalt auf stdout aus. So kopierst du Befehlsausgaben mit einem Handgriff in grafische Programme, fügst Zwischenablage-Inhalte in Skripte ein oder schaltest beide Werkzeuge mitten in eine Pipeline. Beide Kommandos gehören fest zu macOS, sind also ohne Installation sofort verfügbar. Dieser Guide zeigt dir die wichtigsten Handgriffe für den Alltag.
<!-- PROSE:intro:end -->

## pbcopy — In die Zwischenablage kopieren

`echo '<text>' | pbcopy` — Kopiert Text in die Zwischenablage.

```bash
echo 'Hello World' | pbcopy
```

`cat <file> | pbcopy` — Kopiert den Inhalt einer Datei in die Zwischenablage.

```bash
cat ~/.ssh/id_ed25519.pub | pbcopy
```

`<command> | pbcopy` — Kopiert die Ausgabe eines Befehls in die Zwischenablage.

```bash
pwd | pbcopy
```

`pbcopy < <file>` — Kopiert den Inhalt einer Datei per Eingabe-Umleitung.

```bash
pbcopy < config.yaml
```

## pbpaste — Aus der Zwischenablage einfügen

`pbpaste` — Gibt den Inhalt der Zwischenablage auf stdout aus.

```bash
pbpaste
```

`pbpaste > <file>` — Speichert den Inhalt der Zwischenablage in einer Datei.

```bash
pbpaste > snippet.txt
```

`pbpaste | <command>` — Leitet den Inhalt der Zwischenablage an einen Befehl weiter.

```bash
pbpaste | wc -l
```

`pbpaste | sort | uniq` — Verarbeitet den Text aus der Zwischenablage in einer Pipeline.

```bash
pbpaste | sort | uniq
```

## Häufige Muster

`cat ~/.ssh/id_ed25519.pub | pbcopy` — Kopiert den öffentlichen SSH-Schlüssel in die Zwischenablage.

```bash
cat ~/.ssh/id_ed25519.pub | pbcopy
```

`git diff | pbcopy` — Kopiert ein git-Diff in die Zwischenablage.

```bash
git diff | pbcopy
```

`pbpaste | python3 -m json.tool | pbcopy` — Formatiert JSON aus der Zwischenablage und kopiert es zurück.

```bash
pbpaste | python3 -m json.tool | pbcopy
```

`echo -n '<text>' | pbcopy` — Kopiert Text ohne abschließenden Zeilenumbruch.

```bash
echo -n 'no newline' | pbcopy
```

`pbpaste | grep '<pattern>'` — Durchsucht den Inhalt der Zwischenablage.

```bash
pbpaste | grep 'error'
```

`pbpaste | tr '\n' ','` — Wandelt die Zeilen aus der Zwischenablage in eine komma-getrennte Liste um.

```bash
pbpaste | tr '\n' ','
```

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

`pbcopy` und `pbpaste` sind kleine Helfer mit großer Wirkung: Sie machen die Zwischenablage zu einem vollwertigen Glied jeder Shell-Pipeline und ersparen dir das lästige Markieren mit der Maus. Achte darauf, dass `pbcopy` die Daten unverändert übernimmt – Text wird in der Kodierung der Eingabe abgelegt (in der Regel UTF-8), und `echo` hängt standardmäßig einen Zeilenumbruch an, den du mit `echo -n` vermeidest. Beide Werkzeuge gibt es nur unter macOS; unter Linux übernehmen `xclip`, `xsel` oder `wl-copy` diese Rolle. Wer viel im Terminal arbeitet, spart mit beiden Befehlen über den Tag verteilt erstaunlich viele Handgriffe.

## Weiterführende Links

- [pbcopy(1) – macOS man-Page](https://ss64.com/mac/pbcopy.html) – Referenz zu pbcopy bei ss64.com (englisch)
- [pbpaste(1) – macOS man-Page](https://ss64.com/mac/pbpaste.html) – Referenz zu pbpaste bei ss64.com (englisch)
<!-- PROSE:outro:end -->

## Verwandte Kommandos

- [caffeinate](https://www.jpkc.com/db/cheatsheets/macos/caffeinate/) – verhindert, dass der Mac in den Ruhezustand wechselt
- [defaults](https://www.jpkc.com/db/cheatsheets/macos/defaults/) – liest und schreibt macOS-Systemeinstellungen
- [diskutil](https://www.jpkc.com/db/cheatsheets/macos/diskutil/) – verwaltet Festplatten, Partitionen und Volumes

