Zum Inhalt springen

Einführung Shell

Nach der Anmeldung begrüßt uns die Shell – ein Programm, das Befehle entgegennimmt, interpretiert und ausführt. Sie ist die zentrale Schnittstelle zur Arbeit mit einem Linux-System.

Die Standard-Shell unter Linux ist die bash (Bourne-Again Shell). Sie ist auf nahezu jedem Linux-System vorhanden und die sichere Wahl für Skripte und interaktive Arbeit.

Daneben existieren weitere Shells:

ShellBesonderheit
bashStandard; weit verbreitet; gut dokumentiert
zshKomfortabel; mächtige Autovervollständigung; macOS-Standard
fishAnfängerfreundlich; modernes Design
shPOSIX-kompatibel; minimalistisch; gut für portable Skripte
dashSchlanke sh-Implementierung; oft als /bin/sh unter Ubuntu

Jeder Benutzer hat eine konfigurierte Default-Shell, die bei der Anmeldung automatisch gestartet wird. Sie ist in /etc/passwd hinterlegt und lässt sich mit chsh ändern.

Vor dem blinkenden Cursor steht der Prompt – die Eingabeaufforderung. Er zeigt Kontextinformationen und ist konfigurierbar. Die bash-Standardform:

alice@server:~$
ZeichenBedeutung
aliceAngemeldeter Benutzer
serverHostname
~Aktuelles Verzeichnis (~ = Heimverzeichnis)
$Normaler Benutzer
#Superuser (root)

Der #-Prompt ist eine bewusste Warnung: Befehle als root wirken ohne Einschränkungen auf das gesamte System.

Die Shell läuft in verschiedenen Modi, die bestimmen, welche Konfigurationsdateien geladen werden:

ModusWannKonfiguration
Login-ShellNach ssh- oder Konsolen-Anmeldung~/.bash_profile, ~/.profile
Interaktive ShellIm Terminal-Emulator, ohne Login~/.bashrc
Script-ShellBeim Ausführen eines Shell-Skriptskeine Benutzerkonfiguration
Terminal-Fenster
exit # beendet jede Shell-Sitzung
logout # nur in einer Login-Shell

Alternativ: Strg+D sendet das EOF-Signal (End of File) – die Shell interpretiert das als „keine weiteren Eingaben” und beendet sich.