Die Shell für Neulinge — Dein erster Tag im Terminal

Einsteiger Grundlagen Veröffentlicht am 17. März 2026 (Aktualisiert: 10. April 2026) von Gunter Herdrich

Das Terminal wirkt auf den ersten Blick einschüchternd — ein schwarzes Fenster, ein blinkender Cursor, keine Menüs. Dabei ist die Bash-Shell eines der mächtigsten Werkzeuge, die dir Linux bietet. Diese Seite erklärt dir Schritt für Schritt, was dahinter steckt, und bringt dich mit deinen ersten echten Befehlen ans Laufen.

Was ist die Shell — und was hat sie mit dem Terminal zu tun?

Die Shell ist ein Programm, das deine Texteingaben entgegennimmt, interpretiert und an den Linux-Kernel weitergibt. Sie ist die Schnittstelle zwischen dir und dem Betriebssystem. Das Terminal (genauer: der Terminal-Emulator) ist das Fenster, in dem die Shell läuft — ähnlich wie ein Browser, der Webseiten anzeigt, ohne selbst das Internet zu sein.

Die verbreitetste Shell unter Linux heißt Bash (Bourne Again SHell). Sie ist seit 1989 im Einsatz, wird von Brian Fox entwickelt und ist bis heute Standard auf nahezu allen Linux-Distributionen. Daneben gibt es Alternativen wie zsh (Standard auf Arch Linux und macOS seit Catalina) oder fish mit eingebautem Syntax-Highlighting. Für Einsteiger ist Bash der richtige Startpunkt, weil sie überall läuft, alle Tutorials darauf ausgelegt sind und Bash-Kenntnisse auf jedem Linux-Server gelten.

Der Unterschied zur grafischen Oberfläche (GUI): In der GUI klickst du auf Symbole und wählst aus Menüs. Im CLI (Command Line Interface) tippst du Befehle. CLI klingt umständlicher, ist aber effizienter und automatisierbar — ein einzelner Bash-Befehl kann tausend Dateien auf einmal umbenennen, sortieren oder verschieben. Kein Klicken der Welt schafft das so schnell.

Tipp: Mit echo $SHELL kannst du jederzeit nachschauen, welche Shell gerade aktiv ist. Bei Bash lautet die Ausgabe /bin/bash.

Terminal-Emulator öffnen — je nach Desktop

Welches Programm du startest, hängt von deiner Desktop-Umgebung ab. Jeder Terminal-Emulator macht dasselbe — er startet eine Shell-Sitzung — sieht aber anders aus und hat unterschiedliche Tastenkürzel und Einstellungen.

  • GNOME (Ubuntu, Fedora Workstation, Pop!_OS): GNOME Terminal — Tastenkürzel Strg + Alt + T oder über die Aktivitätensuche („Terminal“). Unterstützt mehrere Tabs und Profile mit eigenen Farben.
  • KDE Plasma (Kubuntu, openSUSE KDE, Fedora KDE): Konsole — Tastenkürzel Strg + Alt + T oder im Anwendungsmenü unter „System“. Besonders gut bei geteilten Fenstern (Split-View).
  • Kitty: Moderner GPU-beschleunigter Emulator, beliebt bei Arch-Nutzern und als Basis für Nerd-Fonts-Setups. Konfigurierbar per ~/.config/kitty/kitty.conf.
  • Alacritty: Minimalistisch und sehr schnell, kein eingebauter Tab-Support, konfigurierbar per TOML-Datei (~/.config/alacritty/alacritty.toml ab Version 0.13). Gut als Basis für eigene Setups mit tmux.

Wenn du gerade Ubuntu oder Linux Mint verwendest und noch nichts konfiguriert hast: Strg + Alt + T öffnet in den meisten Standard-Setups direkt das Terminal. Alternativ klickst du mit der rechten Maustaste auf den Desktop — viele Distros bieten dort „Terminal öffnen“ an.

Tipp: Du kannst mehrere Terminal-Emulatoren parallel installieren — sie beeinflussen sich nicht gegenseitig. Probier ruhig Kitty neben GNOME Terminal aus, um zu sehen, was dir besser liegt.

Der Prompt: Was dir die Shell anzeigt

Sobald das Terminal geöffnet ist, siehst du den Prompt — eine Zeile Text, die signalisiert: „Ich bin bereit, warte auf deine Eingabe.“ Ein typischer Bash-Prompt sieht so aus:

gunter@thinkpad:~$

Aufschlüsselung der einzelnen Teile:

  • gunter — dein Benutzername, so wie er beim Anlegen des Kontos vergeben wurde
  • @thinkpad — der Hostname deines Rechners, wie er im Netzwerk und in der Datei /etc/hostname steht
  • :~ — dein aktuelles Arbeitsverzeichnis; ~ ist die Kurzschreibweise für dein Home-Verzeichnis, also z.B. /home/gunter
  • $ — zeigt an, dass du als normaler Nutzer arbeitest. Als Root-Nutzer steht dort stattdessen # — ein bewusstes Warnsignal, denn Root-Befehle können das System beschädigen.

Wenn du dich in ein Unterverzeichnis bewegst, ändert sich der Prompt mit:

gunter@thinkpad:~/Downloads$

Der Prompt ist über die Variable $PS1 vollständig konfigurierbar. Ubuntu färbt ihn standardmäßig grün/blau ein. Das dahinter liegende Format — Benutzername, Host, Verzeichnis, Zeichen — bleibt aber auf allen Distros gleich.

Deine ersten Befehle

Gib diese Befehle der Reihe nach ein und drücke jeweils Enter. Schau dir die Ausgabe genau an — sie erklärt sich meist von selbst, und das Tippen ist der beste Weg, sie einzuprägen.

Wo bin ich? — pwd

pwd steht für print working directory und zeigt dir den vollständigen Pfad zum Verzeichnis, in dem du dich gerade befindest. Nützlich, wenn du dich verlaufen hast oder den Pfad für ein Script brauchst.

$ pwd
/home/gunter

Was ist hier? — ls

ls listet den Inhalt des aktuellen Verzeichnisses auf. Mit der Option -l bekommst du eine ausführliche Ansicht mit Berechtigungen, Besitzer, Größe und Datum. Mit -a werden auch versteckte Dateien (Punkt-Dateien wie .bashrc) angezeigt.

$ ls
Dokumente  Downloads  Musik  Schreibtisch

$ ls -l
total 16
drwxr-xr-x 2 gunter gunter 4096 Mär 10 14:22 Dokumente
drwxr-xr-x 2 gunter gunter 4096 Mär 12 09:05 Downloads
drwxr-xr-x 2 gunter gunter 4096 Feb 28 11:30 Musik
drwxr-xr-x 2 gunter gunter 4096 Mär 15 08:00 Schreibtisch

$ ls -la
total 72
drwxr-xr-x 12 gunter gunter 4096 Mär 17 10:00 .
drwxr-xr-x  4 root   root   4096 Mär  5 09:00 ..
-rw-------  1 gunter gunter 1532 Mär 16 22:14 .bash_history
-rw-r--r--  1 gunter gunter  220 Mär  5 09:00 .bash_logout
-rw-r--r--  1 gunter gunter 3526 Mär  5 09:00 .bashrc
drwxr-xr-x  2 gunter gunter 4096 Mär 10 14:22 Dokumente
drwxr-xr-x  2 gunter gunter 4096 Mär 12 09:05 Downloads

Verzeichnis wechseln — cd

cd (change directory) bringt dich in ein anderes Verzeichnis. Ohne Argument wechselt cd direkt ins Home-Verzeichnis. cd .. geht eine Ebene nach oben, cd - springt ins vorherige Verzeichnis zurück — praktisch, wenn du zwischen zwei Ordnern hin und her wechselst.

$ cd Downloads
$ pwd
/home/gunter/Downloads

$ cd ..
$ pwd
/home/gunter

$ cd /etc
$ pwd
/etc

$ cd ~
$ pwd
/home/gunter

Wer bin ich? — whoami

whoami gibt deinen aktuellen Benutzernamen aus. Klingt trivial, ist aber nützlich in Scripts oder wenn du über su den Benutzer gewechselt hast und sichergehen willst, unter wem du gerade arbeitest.

$ whoami
gunter

Datum und Uhrzeit — date

date gibt das aktuelle Systemdatum mit Uhrzeit und Zeitzone aus. Mit Formatoptionen kannst du die Ausgabe anpassen, z.B. date +%Y-%m-%d für das ISO-Datumsformat — nützlich in Backup-Scripts für Dateinamen.

$ date
Di 17 Mär 2026 10:15:00 CET

$ date +%Y-%m-%d
2026-03-17

Kalender — cal

cal zeigt einen Monatskalender an. cal -y gibt den gesamten Jahreskalender aus. Das Tool ist auf fast allen Linux-Systemen verfügbar und kommt aus dem util-linux-Paket.

$ cal
     März 2026
Mo Di Mi Do Fr Sa So
                   1
 2  3  4  5  6  7  8
 9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
Achtung: Groß- und Kleinschreibung ist in Linux immer relevant. ls funktioniert, LS gibt „command not found“ zurück. Das gilt auch für Dateinamen: Readme.txt und readme.txt sind zwei verschiedene Dateien.

Dateiberechtigungen verstehen

Jede Datei und jedes Verzeichnis in Linux gehört einem Benutzer und einer Gruppe — und hat definierte Zugriffsrechte für drei Kategorien: Eigentümer, Gruppe, alle anderen. Das Berechtigungsmodell stammt aus den Anfängen von Unix und ist seit Jahrzehnten unverändert. Du liest es direkt aus der ls -l-Ausgabe ab.

-rw-r--r-- 1 gunter gunter 2048 Mär 17 10:00 notizen.txt
drwxr-xr-x 2 gunter gunter 4096 Mär 17 09:50 projekte

Die erste Spalte enthält 10 Zeichen:

  • Zeichen 1: Dateityp — - = normale Datei, d = Verzeichnis, l = symbolischer Link
  • Zeichen 2–4: Rechte des Eigentümers (user) — hier rw- = lesen und schreiben, kein Ausführen
  • Zeichen 5–7: Rechte der Gruppe — hier r-- = nur lesen
  • Zeichen 8–10: Rechte für alle anderen — hier ebenfalls r-- = nur lesen

Die Buchstaben bedeuten: r = read (lesen), w = write (schreiben), x = execute (ausführen bei Dateien, betreten bei Verzeichnissen). Ein Strich - zeigt: dieses Recht ist nicht vergeben.

Berechtigungen änderst du mit chmod. Beim numerischen Modus berechnet sich jede Dreiergruppe als Summe: r=4, w=2, x=1. rw- ergibt also 6, r-x ergibt 5, rwx ergibt 7.

# Datei für alle lesbar machen, nur Eigentümer darf schreiben (644):
$ chmod 644 notizen.txt

# Script ausführbar machen: Eigentümer rwx, Gruppe und andere r-x (755):
$ chmod 755 mein-script.sh

# Nur Eigentümer darf lesen und schreiben, alle anderen kein Zugriff (600):
$ chmod 600 geheim.txt
Tipp: chmod +x datei.sh macht eine Datei ausführbar, ohne die restlichen Rechte zu ändern. Das ist der schnellste Weg, ein Script startbar zu machen, wenn du die bestehenden Rechte nicht kennst.

Die .bashrc und .profile — was lädt wann?

Bash liest beim Start automatisch Konfigurationsdateien aus deinem Home-Verzeichnis. Welche davon geladen wird, hängt davon ab, wie die Shell gestartet wurde. Zwei Dateien sind für Desktop-Nutzer besonders relevant:

  • ~/.profile — wird einmalig beim Login ausgeführt, also beim grafischen Einloggen oder beim Starten einer SSH-Sitzung. Hier gehören Umgebungsvariablen hin, die systemweit für alle Programme gelten sollen — PATH-Erweiterungen zum Beispiel.
  • ~/.bashrc — wird bei jeder neuen interaktiven, nicht-login Bash-Sitzung ausgeführt, also jedes Mal, wenn du ein Terminal-Fenster öffnest. Hier kommen Aliases, Prompt-Anpassungen, Shell-Optionen und Funktionen rein.

Auf Ubuntu-Systemen ruft ~/.profile automatisch die ~/.bashrc auf, falls sie existiert. Damit landen deine Bash-Anpassungen auch in Login-Shells. Änderungen in ~/.bashrc gelten erst nach dem nächsten Terminal-Start — oder du wendest sie sofort mit source ~/.bashrc an (kurz: . ~/.bashrc).

# .bashrc im Editor öffnen:
$ nano ~/.bashrc

# Zeilen am Ende eintragen:
alias ll='ls -la'
alias gs='git status'

# Sofort wirksam machen, ohne Terminal neu zu starten:
$ source ~/.bashrc

# Testen:
$ ll
total 72
drwxr-xr-x 12 gunter gunter 4096 ...
...

Mit nano navigierst du mit den Pfeiltasten, speicherst mit Strg + O und schließt mit Strg + X. Wenn du nano noch nicht installiert hast, geht auch gedit ~/.bashrc (GNOME) oder kate ~/.bashrc (KDE) für einen grafischen Editor.

Achtung: Trage nichts in ~/.bashrc ein, ohne die Änderung zu verstehen. Eine fehlerhafte Zeile kann dazu führen, dass das Terminal beim Öffnen mit einem Fehler abbricht. Im Zweifel: Zeilen mit # auskommentieren statt löschen, damit du sie rückgängig machen kannst.

Die PATH-Variable — wo Linux nach Programmen sucht

Wenn du ls eintippst, weiß Bash nicht von Haus aus, wo diese Datei liegt. Es durchsucht stattdessen die Verzeichnisse, die in der Umgebungsvariable PATH aufgelistet sind — von links nach rechts, bis es das Programm findet.

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/gunter/.local/bin

Die Verzeichnisse sind durch Doppelpunkte (:) getrennt. ls liegt in /usr/bin/ls — sobald Bash dort ankommt, führt es die Datei aus. Wenn ein Programm nicht im PATH liegt, bekommst du „command not found“, selbst wenn die Datei existiert.

Für eigene Scripts gibt es zwei saubere Wege:

  1. ~/.local/bin/ — Auf modernen Ubuntu-Systemen (ab 20.04) ist dieses Verzeichnis automatisch im PATH, falls es existiert. Erstelle es mit mkdir -p ~/.local/bin und lege deine Scripts dort ab.
  2. Manuell hinzufügen — Für ältere Systeme oder eigene Verzeichnisse trägst du die Zeile in ~/.profile ein:
# In ~/.profile eintragen:
export PATH="$HOME/bin:$PATH"

# Danach einmal neu einloggen oder:
$ source ~/.profile

Mit which findest du heraus, welche Datei tatsächlich ausgeführt wird:

$ which bash
/usr/bin/bash

$ which python3
/usr/bin/python3

$ which mein-script
/home/gunter/.local/bin/mein-script
Tipp: Wenn du which befehl eingibst und nichts zurückkommt, ist das Programm entweder nicht installiert oder liegt nicht im PATH. Mit type befehl kannst du zusätzlich prüfen, ob es ein Shell-Builtin, ein Alias oder eine Funktion ist.

Hilfe finden — man, –help, info

Kein Befehl muss auswendig gelernt werden — Linux bringt seine Dokumentation direkt mit. Drei Wege führen zu den Antworten:

man — das Handbuch

man befehl öffnet die offizielle Manpage im Pager (standardmäßig less). Navigiert wird mit den Pfeiltasten oder j/k, du suchst mit /suchbegriff, und verlässt mit q.

$ man ls
$ man chmod
$ man bash

Manpages sind in nummerierte Sektionen unterteilt: Sektion 1 = Benutzerbefehle, Sektion 2 = Systemaufrufe, Sektion 5 = Konfigurationsdateien, Sektion 8 = Systemverwaltung. Mit man 5 passwd rufst du z.B. die Dateiformat-Dokumentation für /etc/passwd auf statt den Befehl passwd.

--help — die Kurzfassung

Fast jedes Programm kennt die Option --help (manchmal auch -h) und gibt eine kompakte Übersicht der wichtigsten Optionen aus. Schneller als man, wenn du nur eine bestimmte Option nachschauen willst.

$ ls --help
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
...
  -a, --all                  do not ignore entries starting with .
  -l                         use a long listing format
  -h, --human-readable       with -l, print sizes like 1K 234M 2G
  -r, --reverse              reverse order while sorting
...

info — ausführlicher als man

info ls öffnet bei GNU-Tools oft eine ausführlichere Dokumentation mit verlinkten Kapiteln und Abschnitten. Navigation: Pfeiltasten, Enter für Links, n für nächstes Kapitel, q zum Beenden. Die meisten Einsteiger kommen mit man und --help gut aus. info lohnt sich für tiefere Einblicke in GNU-Coreutils wie find, sort oder awk.

Tipp: Mit man -k stichwort durchsuchst du die Kurzbeschreibungen aller Manpages nach einem Begriff — nützlich wenn du den Befehlsnamen nicht kennst. Beispiel: man -k compress listet alle Tools rund ums Komprimieren auf.

Wie geht es weiter?

Du hast jetzt das Fundament gelegt: Du weißt, was Shell und Terminal sind, kannst Prompts lesen, erste Befehle ausführen, Dateiberechtigungen interpretieren, deine Konfiguration anpassen und im Zweifel Hilfe finden. Das reicht, um dich sicher im Terminal zu bewegen und keine Angst mehr vor dem blinkenden Cursor zu haben.

Die nächsten Schritte auf bin-bash.de: