Zurück zur Startseite
Terminal Guide

Terminal Guide

Eine umfassende Übersicht der wichtigsten Terminal-Befehle für macOS und Linux

Die Beherrschung der Terminal-Befehle ist ein wesentlicher Bestandteil der Arbeit mit Unix-basierten Systemen wie macOS und Linux. Dieser Guide bietet einen umfassenden Überblick über die wichtigsten Befehle und deren Anwendung.

1. Basis-Navigation und Dateioperationen

pwd

Zeigt das aktuelle Arbeitsverzeichnis (Pfad zum aktuellen Ordner) an.

pwd

cd

Wechselt das Verzeichnis. Erfordert einen Pfad, um dorthin zu navigieren.

cd /pfad/zum/verzeichnis
cd .. (ein Verzeichnis nach oben)

ls

Listet Dateien und Verzeichnisse auf. Unter macOS (BSD-Version) kann -G für Farbausgabe, unter Linux (GNU-Version) --color verwendet werden.

ls -l
ls -lG (macOS)
ls -l --color (Linux)

mkdir

Erstellt ein neues Verzeichnis.

mkdir neuer_ordner

rmdir

Löscht ein leeres Verzeichnis.

rmdir leerer_ordner

rm

Löscht Dateien oder Verzeichnisse. Mit -r rekursives Löschen.

rm datei.txt
rm -r ordner_name

cp

Kopiert Dateien oder Verzeichnisse. Mit -r werden Verzeichnisse rekursiv kopiert.

cp quelle.txt ziel.txt
cp -r ordner neuer_ordner

mv

Verschiebt oder benennt Dateien/Verzeichnisse um.

mv alter_name.txt neuer_name.txt
mv datei.txt /ziel/pfad/

touch

Erstellt eine leere Datei oder aktualisiert den Zeitstempel einer bestehenden Datei.

touch neue_datei.txt

open (macOS)

Öffnet eine Datei oder ein Verzeichnis mit der Standardanwendung (nur macOS).

open datei.txt
open .

xdg-open (Linux)

Öffnet eine Datei oder ein Verzeichnis mit der Standardanwendung (Linux).

xdg-open datei.txt
xdg-open .

2. Dateien ansehen und bearbeiten

cat

Zeigt den Inhalt von Dateien an oder verknüpft mehrere Dateien zur Ausgabe.

cat datei.txt

less

Zeigt den Inhalt einer Datei in einem scrollbaren Puffer an. Mit 'q' beenden.

less datei.txt

head

Zeigt die ersten Zeilen einer Datei an (Standard: 10 Zeilen).

head datei.txt
head -n 20 datei.txt

tail

Zeigt die letzten Zeilen einer Datei an (Standard: 10 Zeilen). Mit -f kann eine Datei ‚live' verfolgt werden.

tail datei.txt
tail -f /var/log/system.log

nano/vi/vim

Terminal-Texteditoren. nano ist einfacher, vi/vim sind mächtiger.

nano datei.txt
vim datei.txt

3. Suchen und Finden

grep

Durchsucht Text nach Mustern oder regulären Ausdrücken. Mit -r wird rekursiv in Verzeichnissen gesucht.

grep "suchbegriff" datei.txt
grep -r "suchbegriff" /pfad

find

Durchsucht Verzeichnisbäume nach Dateien oder Verzeichnissen (z.B. nach Name).

find / -name "datei.txt"

locate

Findet schnell Dateien nach Namen mithilfe einer vorab erzeugten Datenbank (ggf. updatedb erforderlich).

locate dateiname

which

Zeigt den vollständigen Pfad eines Befehls an.

which ls

4. Rechte und Besitz

chmod

Ändert die Zugriffsrechte (Permissions) für Dateien oder Verzeichnisse.

chmod 755 skript.sh
chmod u+rwx,g+rx,o+rx datei.sh

chown

Ändert den Besitzer einer Datei oder eines Verzeichnisses.

sudo chown neuer_besitzer datei.txt

chgrp

Ändert die Gruppenzugehörigkeit einer Datei oder eines Verzeichnisses.

sudo chgrp neue_gruppe datei.txt

sudo

Führt einen Befehl mit Superuser-Rechten (root) aus.

sudo rm -r /geschuetzter/ordner

5. Systeminformationen

uname

Zeigt Systeminformationen an. Mit -a werden alle Infos ausgegeben.

uname -a

whoami

Zeigt den aktuellen Benutzer an.

whoami

who

Zeigt an, welche Benutzer aktuell angemeldet sind.

who

date

Zeigt oder setzt Datum und Uhrzeit des Systems.

date

uptime

Zeigt die Laufzeit des Systems, die Anzahl der Benutzer und den Load Average an.

uptime

df

Zeigt den Plattenplatz auf Dateisystemebene an. Mit -h in menschenlesbarem Format.

df -h

du

Gibt geschätzten Speicherplatzverbrauch an. -s für Zusammenfassung, -h für menschenlesbar.

du -sh *

free (Linux)

Zeigt freien und belegten Arbeitsspeicher an (auf macOS nicht standardmäßig vorhanden).

free -h

vm_stat (macOS)

Zeigt virtuelle Speicherstatistiken unter macOS an.

vm_stat

sw_vers (macOS)

Gibt Informationen zur macOS-Version aus.

sw_vers

6. Prozess- und Job-Verwaltung

ps

Gibt eine Momentaufnahme der aktuellen Prozesse aus. Häufig wird ps aux genutzt.

ps aux

top

Zeigt laufende Prozesse in Echtzeit an (dynamisch aktualisiert).

top

htop (Linux)

Interaktiver Prozess-Viewer mit komfortabler Navigation (nicht immer vorinstalliert).

htop

kill

Beendet einen Prozess anhand seiner PID. -9 erzwingt das Beenden.

kill 12345
kill -9 12345

killall

Beendet alle Prozesse mit einem bestimmten Namen (funktioniert unter Linux und macOS).

killall chrome

jobs

Listet Hintergrundprozesse (Jobs) in der aktuellen Shell auf.

jobs

fg / bg

Bringt einen Prozess in den Vordergrund (fg) oder schickt ihn in den Hintergrund (bg).

fg %1
bg %1

7. Netzwerk

ping

Sendet ICMP-ECHO_REQUESTs an einen Host, um die Netzwerk-Erreichbarkeit zu testen.

ping google.com

ifconfig (macOS, älteres Linux)

Konfiguriert oder zeigt Netzwerkinterfaces an. Auf neueren Linux-Versionen wird oft 'ip' verwendet.

ifconfig
ifconfig eth0 up

ip (Linux)

Zeigt oder konfiguriert Netzwerkrouten, Devices und Tunnel (moderner Ersatz für ifconfig).

ip addr show
ip link set eth0 up

curl

Überträgt Daten zu oder von einem Server mittels verschiedener Protokolle (HTTP, FTP, etc.).

curl https://beispiel.de

wget (Linux)

Lädt Dateien aus dem Internet herunter (HTTP, HTTPS, FTP).

wget https://beispiel.de/datei.zip

scp

Kopiert Dateien sicher über SSH zwischen lokalem und entferntem Rechner.

scp datei.txt benutzer@remote_host:/pfad/ziel
scp benutzer@remote_host:/pfad/datei.txt ./lokaler_ordner

ssh

Sichere Remote-Shell-Verbindung zu einem anderen Rechner.

ssh benutzer@remote_host

netstat / ss

Zeigt Netzwerkverbindungen, Routing-Tabellen und Interface-Statistiken an.

netstat -tuln
ss -tuln

8. Archivierung und Kompression

tar

Erstellt oder entpackt Tar-Archive. Oft in Kombination mit Kompression (gzip oder bzip2).

tar -czvf archiv.tar.gz ordner
tar -xzvf archiv.tar.gz

zip / unzip

Erstellt oder entpackt ZIP-Archive.

zip archiv.zip datei1 datei2
unzip archiv.zip

gzip / gunzip

Komprimiert oder entpackt Dateien mittels gzip.

gzip datei.txt
gunzip datei.txt.gz

9. Paketverwaltung

Verschiedene Linux-Distributionen verwenden unterschiedliche Paketmanager (apt, yum, dnf, pacman, zypper). Auf macOS wird häufig Homebrew als Drittanbieter-Manager genutzt.

apt (Debian/Ubuntu)

Installiert, aktualisiert und entfernt Pakete auf Debian/Ubuntu-Systemen.

sudo apt update
sudo apt upgrade
sudo apt install <paketname>
sudo apt remove <paketname>

yum / dnf (RHEL, CentOS, Fedora)

Paketverwaltung für RPM-basierte Distributionen.

sudo yum update
sudo yum install <paketname>

pacman (Arch Linux)

Paketverwaltung für Arch Linux und Ableger.

sudo pacman -Syu
sudo pacman -S <paketname>

brew (macOS)

Homebrew-Paketmanager für macOS.

brew update
brew upgrade
brew install <formula>
brew uninstall <formula>

10. Umleitung und Pipes

>

Leitet die Standardausgabe in eine Datei um (überschreibt bestehende Inhalte).

echo "Hallo" > datei.txt

>>

Leitet die Standardausgabe in eine Datei um (hängt an bestehende Inhalte an).

echo "Welt" >> datei.txt

2>

Leitet die Standardfehlerausgabe in eine Datei um.

grep "suchbegriff" datei.txt 2> fehler.log

| (pipe)

Verknüpft die Ausgabe eines Befehls mit der Eingabe eines anderen Befehls.

ls -l | grep ".txt"

&>

Leitet Standardausgabe und Standardfehler gleichzeitig in eine Datei um (bash/zsh).

befehl &> ausgabe.log

11. Verschiedene nützliche Befehle

alias

Erstellt einen Alias für einen Befehl.

alias ll='ls -alF'

history

Zeigt oder bearbeitet die Befehls-Historie.

history

clear

Löscht den Inhalt des Terminals (Bildschirm).

clear

env

Zeigt Umgebungsvariablen an.

env

export

Setzt eine Umgebungsvariable (z.B. in bash/zsh).

export PATH="/usr/local/bin:$PATH"

echo

Gibt einen String oder Variablen aus.

echo $SHELL

type

Zeigt an, wie ein Befehlsname interpretiert wird (Alias, Shell Builtin, Pfad zur Datei).

type ls

wc

Zählt Wörter, Zeilen, Zeichen oder Bytes einer Datei oder Eingabe.

wc -l datei.txt

man

Zeigt die Manpage (Handbuch) für einen Befehl an.

man ls

apropos

Durchsucht Manpages nach einem Schlüsselwort.

apropos netzwerk

cal

Zeigt einen Kalender im Terminal an.

cal
cal 2025

xargs

Erstellt und führt Befehlszeilen basierend auf der Standardeingabe aus.

cat liste.txt | xargs rm

Hinweise

macOS verwendet meist BSD-Varianten der Befehle, während Linux typischerweise GNU-Varianten nutzt. Einige Flags können sich unterscheiden.

Neuere macOS-Versionen verwenden standardmäßig zsh, während viele Linux-Distributionen bash als Standard-Shell einsetzen.

Im Zweifelsfall konsultieren Sie 'man <befehl>' oder die Online-Dokumentation für zusätzliche Flags und Verwendungshinweise.