tmux – vollständige Befehlsreferenz

Alle Standard-Tastenkürzel (tmux 3.x) und die zugehörigen Shell-Befehle. `C-b` bedeutet Ctrl + b: zuerst das Präfix drücken, dann die Taste. In den Shell-Befehlen steht -t für das Ziel (target), siehe unten.

Schnellstart!!!

Die wichtigsten Befehle für den täglichen Einstieg in tmux – kompakt an einer Stelle.

1. Neue Session erstellen tmux new -s main

Startet eine neue, benannte Arbeitsumgebung.

2. Öffnen oder anhängen tmux new -A -s main

Hängt an main an oder erstellt sie, falls sie noch nicht existiert.

3. Session verlassen
Ctrl + b, dann d

Trennt die Verbindung; Session und Programme laufen weiter.

4. Wieder anhängen tmux a -t main

Verbindet dich wieder mit der laufenden Session main.

5. Sessions anzeigen tmux ls

Zeigt alle laufenden tmux-Sessions.

Merksatz: Eine Session starten, mit Ctrl + b und d lösen und später wieder anhängen – nichts muss neu gestartet werden.

Grundlagen

Shell-BefehlWirkung
tmuxneue, unbenannte Session starten
tmux new -s mainneue Session mit Namen main starten
tmux new -d -s mainSession im Hintergrund starten (detached)
tmux new -A -s mainan main anhängen, sonst neu anlegen
tmux new -d -s job 'htop'Session starten und darin einen Befehl ausführen
tmux -Vinstallierte tmux-Version anzeigen
man tmuxHandbuchseite

Sessions

Tastenkürzeltmux-BefehlWirkung
C-b ddetach-clientSession lösen (läuft im Hintergrund weiter)
C-b schoose-tree -sSessions auflisten und wechseln
C-b $rename-sessionSession umbenennen
C-b (switch-client -pzur vorherigen Session
C-b )switch-client -nzur nächsten Session
C-b Lswitch-client -lzur zuletzt verwendeten Session
C-b : kill-sessionkill-sessionaktuelle Session beenden (kein Standardkürzel)
Shell-BefehlWirkung
tmux ls / tmux list-sessionsalle Sessions anzeigen
tmux a -t main / tmux attach -t mainan Session main anhängen
tmux attach -d -t mainandere Clients trennen und anhängen
tmux kill-session -t mainSession beenden (alle Fenster darin)
tmux rename-session -t alt neuSession umbenennen
tmux switch-client -t mainClient umschalten (aus tmux heraus)
tmux has-session -t main && echo okprüfen, ob Session existiert (für Skripte)
Achtung: tmux kill-server beendet alle Sessions und den tmux-Server – nur bewusst verwenden.

Fenster (Windows)

Tastenkürzeltmux-BefehlWirkung
C-b cnew-windowneues Fenster öffnen
C-b ,rename-windowFenster umbenennen
C-b wchoose-tree -wFensterliste anzeigen und wechseln
C-b n / pnext-window / previous-windownächstes / vorheriges Fenster
C-b llast-windowzuletzt verwendetes Fenster
C-b 0 – 9select-window -t NFenster über die Nummer wählen
C-b 'select-windowFenster per Nummer/Name wählen
C-b &kill-windowFenster schließen (mit Rückfrage)
C-b ffind-windowFenster nach Inhalt/Titel suchen
C-b .move-windowFenster auf andere Nummer verschieben
C-b Alt+n / Alt+pnext-window -a / previous-window -anächstes / vorheriges Fenster mit Aktivität
Shell-BefehlWirkung
tmux new-window -t main -n logsneues Fenster logs in Session main
tmux list-windows -t mainFenster der Session anzeigen
tmux select-window -t main:3Fenster 3 auswählen
tmux rename-window -t main:1 editFenster umbenennen
tmux kill-window -t main:2Fenster schließen
tmux move-window -s main:2 -t other:5Fenster in andere Session verschieben

Panes (geteilte Bereiche)

Tastenkürzeltmux-BefehlWirkung
C-b %split-window -hPane teilen: links / rechts
C-b "split-window -vPane teilen: oben / unten
C-b oselect-pane -t :.+zum nächsten Pane
C-b ;select-pane -t :.-zum zuletzt verwendeten Pane
C-b ←↑↓→select-pane -L/-U/-D/-RPane in Richtung wechseln
C-b Ctrl+←↑↓→resize-pane …Größe um 1 Zeile / Spalte ändern
C-b Alt+←↑↓→resize-pane … 5Größe um 5 Zeilen / Spalten ändern
C-b zresize-pane -ZPane maximieren / wiederherstellen
C-b xkill-panePane schließen (mit Rückfrage)
C-b !break-panePane in ein eigenes Fenster lösen
C-b qdisplay-panesPane-Nummern anzeigen
C-b { / }swap-pane -U / -DPanes tauschen
C-b Ctrl+o / Alt+orotate-windowPanes rotieren
C-b Leertastenext-layoutnächstes Layout
C-b Alt+1 – Alt+5select-layout …Layout: even-horizontal, even-vertical, main-horizontal, main-vertical, tiled
Shell-BefehlWirkung
tmux split-window -h -t main:1Fenster horizontal teilen
tmux split-window -v -l 30%Pane teilen, neues Pane mit 30 % Höhe
tmux list-panes -aalle Panes aller Sessions anzeigen
tmux select-pane -t main:1.2Pane 2 in Fenster 1 auswählen
tmux resize-pane -t main:1.0 -R 10Pane um 10 Spalten verbreitern
tmux swap-pane -s main:1.0 -t main:1.1zwei Panes tauschen
tmux break-pane -t main:1.1Pane in eigenes Fenster lösen
tmux kill-pane -t main:1.1Pane schließen

Copy-Modus und Puffer

Tastenkürzeltmux-BefehlWirkung
C-b [copy-modeCopy-Modus starten (blättern, kopieren)
C-b PgUpcopy-mode -uCopy-Modus starten und hochblättern
C-b ]paste-bufferPuffer einfügen
C-b =choose-bufferPuffer auswählen und einfügen
C-b #list-buffersalle Puffer anzeigen

Im Copy-Modus (Standardbelegung, Emacs-Modus):

TasteWirkung
qCopy-Modus verlassen
LeertasteAuswahl beginnen
EnterAuswahl kopieren und beenden
PfeiltastenCursor bewegen
g / GAnfang / Ende des Verlaufs
Ctrl+u / Ctrl+dhalbe Seite zurück / vor
/ … ? …vorwärts / rückwärts suchen
n / Nnächster / vorheriger Treffer
Shell-BefehlWirkung
tmux capture-pane -p -t main:1.0sichtbaren Pane-Inhalt ausgeben
tmux show-bufferaktuellen Puffer anzeigen
tmux save-buffer datei.txtPuffer in Datei speichern
tmux load-buffer datei.txtDatei in den Puffer laden
tmux set-buffer "Text"Text in den Puffer legen
Mit der Maus markieren funktioniert nicht wie gewohnt — tmux fängt die Mausereignisse ab. Der häufigste Fehler dabei: die Auswahl landet nur im tmux-Puffer, nicht in der Zwischenablage des Systems. Drei Wege, je nachdem was man braucht.

Markierung starten — mode-keys vi statt Emacs (siehe Konfiguration und Wartung):

TasteWirkung
Leertastezeichenweise markieren
Ctrl+Leertastewortweise markieren
vzeilenweise markieren
Ctrl+vblockweise markieren

Maus-Modus einschalten — in ~/.tmux.conf:

ZeileWirkung
set -g mouse onMaus in tmux aktivieren (Markieren, Ziehen, Fenster)
tmux source-file ~/.tmux.confKonfiguration sofort neu laden
Auch mit Maus-Modus geht die Auswahl nur in den tmux-Puffer, nicht in die Zwischenablage des Systems. Für das gewohnte Kopieren des Terminals beim Markieren Shift gedrückt halten — dann umgeht tmux die Maus und der Terminal-Selektor greift.

Direkt in die System-Zwischenablage kopieren — Enter im Copy-Modus legt den Text dann dort ab:

SystemZeile in ~/.tmux.conf
Linux (X11)set -g mode-keys viset -g set-clipboard onbind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "xclip -selection clipboard"
Linux (Wayland)bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "wl-copy"
macOSbind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "pbcopy"

Ansicht, Clients und Sonstiges

Tastenkürzeltmux-BefehlWirkung
C-b ?list-keysalle Tastenkürzel anzeigen
C-b :command-prompttmux-Befehl eingeben
C-b tclock-modeUhr anzeigen
C-b ~show-messagesMeldungen anzeigen
C-b rrefresh-clientAnzeige neu zeichnen
C-b Dchoose-clientClient auswählen / trennen
C-b idisplay-messageInformationen zum Fenster anzeigen
C-b Ctrl+zsuspend-clienttmux in den Hintergrund legen

Konfiguration und Wartung

Shell-BefehlWirkung
tmux source-file ~/.tmux.confKonfiguration neu laden
tmux set-option -g mouse onMausunterstützung aktivieren
tmux set-option -g history-limit 20000Scrollback vergrößern
tmux show-options -gglobale (Server-)Optionen anzeigen
tmux show-options -gwFenster-Optionen anzeigen
tmux list-keysaktuelle Tastenkürzel auflisten
tmux list-commandsalle tmux-Befehle auflisten
tmux bind-key X befehlTaste zur Laufzeit binden
tmux unbind-key XBindung entfernen

Zielangaben (target)

SchreibweiseBedeutung
mainSession main
main:2Fenster 2 in Session main
main:2.1Pane 1 in Fenster 2
main:editFenster mit dem Namen edit
:1 / :=1Fenster 1 der aktuellen Session

Ohne Angabe gilt die aktuelle Session, das aktive Fenster beziehungsweise das aktive Pane.

Nützliche Einzeiler für Skripte

tmux new -A -s main                          # anhängen oder neu anlegen
tmux has-session -t main || tmux new -d -s main   # idempotent starten
tmux new -d -s job 'python3 skript.py'       # Hintergrundjob in eigener Session
tmux send-keys -t main:1 'ls -la' Enter      # Befehl in ein Fenster senden
tmux pipe-pane -o -t main:1 'cat >> ~/main.log'  # Fensterausgabe mitschreiben
tmux list-sessions -F '#{session_name}: #{session_windows} Fenster'
Formatvariablen (z. B. für -F): #{session_name}, #{window_index}, #{window_name}, #{pane_index}, #{pane_current_command}, #{pane_current_path}.

tmux verstehen: Sessions, Windows und Panes

Die Befehle sind schnell gelernt. Wichtig ist aber auch, wie tmux seine Arbeitsumgebung aufteilt und was beim Trennen und Wiederverbinden tatsächlich passiert.

Eine neue Session erstellen oder an eine bestehende anhängen?

Eine Session ist eine eigenständige tmux-Arbeitsumgebung mit eigenen Fenstern und laufenden Prozessen. Eine neue Session beginnt von vorn. Beim Anhängen wird dagegen nur eine Verbindung zu einer bereits laufenden Session hergestellt – ihre Fenster, Shells und Programme bleiben so, wie sie waren.

Neue Session erstellen

tmux new -s meine-session

Startet eine komplett neue Session mit dem Namen meine-session. Darin werden neue Fenster und Shells angelegt.

An bestehende Session anhängen

tmux attach -t meine-session tmux a -t meine-session

Verbindet dich wieder mit der bereits laufenden Session. Der zweite Befehl ist nur die Kurzform.

Der typische Ablauf sieht so aus:

tmux new -s server
# etwas starten
# Ctrl+b, dann d

tmux attach -t server

Nach Ctrl + b und anschließend d bist du nur von der Session getrennt (detach). Die Session läuft im Hintergrund weiter und Programme darin bleiben aktiv. Mit tmux ls findest du später den Namen der laufenden Session wieder.

tmux new -A -s main: öffnen oder neu anlegen

Dieser Befehl ist für den Alltag besonders praktisch:

tmux new -A -s main

Damit lautet die praktische Bedeutung: „Öffne meine Session main; falls sie noch nicht existiert, erstelle sie.“ Du musst also nicht zuerst tmux ls ausführen und zwischen new und attach entscheiden.

Keine Sessions innerhalb von Sessions

tmux-Sessions sind grundsätzlich getrennte, eigenständige Sitzungen. Das normale Modell ist eine Hierarchie von Session → Window → Pane:

Session: main
├── Window 1: shell
│   ├── Pane 1
│   └── Pane 2
├── Window 2: editor
└── Window 3: logs

Eine Session enthält also Windows, und jedes Window kann in mehrere Panes geteilt werden. Eine Session in einer anderen Session ist nicht der normale Aufbau. Technisch lässt sich tmux zwar innerhalb einer laufenden tmux-Session erneut starten („nested tmux“), das ist aber meist unpraktisch, weil beide Instanzen standardmäßig denselben Prefix Ctrl + b verwenden können.

Mehrere Shells in einer Session sind möglich

Ja. Jedes neue Window startet normalerweise eine eigene Shell. Auch ein geteiltes Pane kann eine eigene Shell mit eigenen laufenden Programmen enthalten. So kannst du in derselben Session zum Beispiel editieren, Logs beobachten und Befehle ausführen:

Session: main
├── Window 1 → Shell
├── Window 2 → Shell
└── Window 3 → Shell

Oder mehrere Shells gleichzeitig in einem Window:

Window 1
├── Pane links  → Shell
├── Pane rechts → Shell
└── Pane unten  → Shell

Alle diese Shells gehören weiterhin zu derselben Session. Du erhältst also mehrere Arbeitsbereiche, ohne mehrere Sessions ineinander zu verschachteln.