Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Tipps und Tools für maximale Effizienz

1 Kurzbefehle im Terminal

1.1 Navigation und Bearbeitung

KurzbefehlBeschreibung
STRG + ASpringt zum Zeilenanfang
STRG + ESpringt zum Zeilenende
OPTION + BSpringt ein Wort zurück
OPTION + FSpringt ein Wort vorwärts
STRG + ULöscht alles vor dem Cursor
STRG + KLöscht alles nach dem Cursor
STRG + WLöscht das Wort vor dem Cursor
OPTION + DLöscht das Wort nach dem Cursor
STRG + YFügt zuletzt gelöschten Text ein (yank)
STRG + LBildschirm löschen (wie clear)
STRG + CBeendet den laufenden Prozess
STRG + ZHält den Prozess an (siehe Job-Control)
STRG + DBeendet die Shell / EOF senden

1.2 History-Navigation

KurzbefehlBeschreibung
↑ / ↓Vorherige/nächste Befehle durchsuchen
STRG + RRückwärts-Suche in der History
STRG + SVorwärts-Suche in der History
STRG + GSuche abbrechen
!!Letzten Befehl wiederholen
!$Letztes Argument des letzten Befehls
!^Erstes Argument des letzten Befehls
!*Alle Argumente des letzten Befehls

1.3 Tab-Vervollständigung

KurzbefehlBeschreibung
TABBefehl/Pfad vervollständigen
TAB TABAlle Möglichkeiten anzeigen
OPTION + /Pfad-Vervollständigung erzwingen

1.4 Praktische Kombinationen

Letzten Befehl mit sudo wiederholen:

apt update
# Permission denied
sudo !!

Argument vom letzten Befehl übernehmen:

cat /etc/hosts
vim !$    # öffnet /etc/hosts in vim

In der History suchen:

# STRG + R drücken, dann tippen:
(reverse-i-search)`brew': brew install htop

2 Dokumentation

2.1 man – Handbuch zu beliebigem Befehl anzeigen

man grep

Navigation im Handbuch:

  • Leertaste: Nächste Seite
  • b: Vorherige Seite
  • /: Vorwärts suchen
  • ?: Rückwärts suchen
  • n: Nächstes Suchergebnis
  • N: Vorheriges Suchergebnis
  • q: Beenden

Manpage-Sektionen:

man 1 printf    # Benutzerkommandos
man 2 open      # Systemaufrufe
man 3 printf    # Bibliotheksfunktionen

2.2 whatis – Kurzbeschreibung

Zeigt eine einzeilige Beschreibung eines Befehls:

whatis ls
# ls(1) - list directory contents

whatis grep sed awk
# grep(1) - file pattern searcher
# sed(1) - stream editor
# awk(1) - pattern-directed scanning and processing language

2.3 apropos – Befehle suchen

Durchsucht die Manpage-Datenbank nach Stichwörtern:

apropos network
apropos "copy files"
apropos -s 1 search    # Nur in Sektion 1 suchen

Nützlich, wenn man nicht genau weiß, welcher Befehl benötigt wird.

2.4 tldr – Vereinfachte Hilfe mit Beispielen

tldr (Too Long; Didn’t Read) bietet prägnante, praxisorientierte Hilfe mit Beispielen.

Installation:

brew install tldr

Verwendung:

tldr tar
tldr find
tldr git-commit

Beispielausgabe für tar:

tar

Archiving utility.
Often combined with a compression method, such as gzip or bzip2.
More information: https://www.gnu.org/software/tar.

- Create an archive from files:
  tar cf target.tar file1 file2 file3

- Create a gzipped archive:
  tar czf target.tar.gz file1 file2 file3

- Extract an archive:
  tar xf source.tar

Cache aktualisieren:

tldr --update

2.5 Vergleich der Dokumentations-Tools

ToolZweckDetailgradBeispiele
manVollständige ReferenzSehr hochWenige
whatisKurzbeschreibungMinimalKeine
aproposBefehl finden--
tldrSchnelle HilfeMittelViele

3 Empfohlener Workflow

  1. Unbekannter Befehl: tldr <befehl> für schnelle Orientierung
  2. Befehl finden: apropos <stichwort> zum Suchen
  3. Details nachschlagen: man <befehl> für vollständige Dokumentation
  4. Kurze Info: whatis <befehl> für Einzeiler

4 Finder

Aktuellen Ordner oder ausgewählte Datei im Finder öffnen:

  • Rechtsklick auf Ordner oder Datei in Pfadleiste :luc_arrow_right: “In Terminal öffnen”
  • oder: Rechtsklick auf Ordner oder Datei in Pfadleiste :luc_arrow_right: “Dienste” :luc_arrow_right: “New Warp Tab Here”

5 tee-Befehl

Der tee-Befehl funktioniert als “T-Stück” für Datenströme. Er dupliziert die Ausgabe eines Befehls und sendet diese

  • ins Terminal (stdout) und
  • an eine andere Ziel (Datei, Pipe, usw.).

Dies ist besonders hilfreich bei Aliasen, Shell-Funktionen und Skripten.

Beispiel:

alias copypwd='pwd | tee >(pbcopy)'

Der aktuelle Pfad wird in die Zwischenablage kopiert und im Terminal ausgegeben. Mit pwd | pbcopy, d. h. ohne tee, wird nur der Pfad kopiert, aber nicht ausgegeben.

6 Ausführung von AppleScript

AppleScript- oder JXA-Code (JXA = JavaScript for Automation) kann mit dem Befehl osascript ausgeführt werden.

Syntax:

osascript [Optionen] [Datei | -e "Skript-Code"]

Ein Skript aus einer Datei ausführen:

osascript ~/Skripte/mein_skript.scpt

Beispiel:

Anzeige des Titels des aktuellen Songs aus Apple Music:

osascript -e 'tell application "Music" to get name of current track'

Optionen:

  • -e: Führe eine oder mehrere Codezeilen direkt aus.

  • -l JavaScript: Verwende JavaScript statt AppleScript

    Beispiel: osascript -l JavaScript -e 'Application("Finder").open("/Applications")'

6.1 Mitteilungen

Mittels Apple Script ist es auch möglich, Mitteilungen, die rechts oben auf dem Bildschirm erscheinen, auszugeben:

osascript -e 'display notification "Hallo!"'

6.2 Typische Anwendungsfälle

  • Automatisierung von Aufgaben von macOS-Apps (z. B. Fenster öffnen, Dateien verschieben)
  • Systemdialoge oder Benachrichtigungen aus Skripten heraus anzeigen
  • Kombination von Terminal-Befehle mit macOS-Funktionen (z. B. GUI-Interaktionen)
  • Integration in Shell-Skripte und Workflows

7 Brace Expansion – Effiziente Musterbildung

Brace Expansion ist ein mächtiges Shell-Feature zum schnellen Erzeugen von Mustern und Sequenzen.

7.1 Zahlensequenzen

echo {1..10}              # 1 2 3 4 5 6 7 8 9 10
echo {01..10}             # 01 02 03 04 05 06 07 08 09 10
echo {10..1}              # Rückwärts: 10 9 8 7 6 5 4 3 2 1
echo {a..z}               # Buchstaben: a b c d ... z
echo {2..20..2}           # Schrittweite: 2 4 6 8 10 12 14 16 18 20

7.2 Listen

echo {rot,grün,blau}      # rot grün blau
mkdir {Docs,Images,Videos}

7.3 Kombinationen

echo {A,B}{1,2}           # A1 A2 B1 B2
mkdir Jahr_{2023,2024}/{Q1,Q2,Q3,Q4}

7.4 Praktische Anwendungen

Backup erstellen:

cp wichtig.txt{,.backup}  # Kopiert nach wichtig.txt.backup

Mehrere Dateien auf einmal umbenennen:

mv bild.{jpg,png}         # Umbenennen von jpg zu png

Batch-Download:

curl https://example.com/file{001..100}.jpg -O

Projektstruktur anlegen:

mkdir -p projekt/{src,tests,docs}/{backend,frontend}