Grafische Oberflächen sind bequem, aber in Admin-, DevOps- und SRE-Jobs ist die Shell das präziseste Werkzeug: skriptbar, reproduzierbar, remote-tauglich. Diese Lektion bündelt die Grundlagen – inklusive der integrierten Übungsantworten – und macht dich fit für die Linux-Essentials-Prüfung.
Shells & Prompt lesen
Unter Linux dominieren Bash, zsh, ksh sowie (t)csh; in Prüfung & Praxis triffst du vor allem die Bash. Die Eingabeaufforderung (Prompt) zeigt, wer auf welchem Host wo arbeitet und mit welchen Rechten:
carol@mycomputer:~$ # User (Debian/Ubuntu)
root@mycomputer:~# # root
[dave@mycomputer ~]$ # User (RHEL/CentOS)
~steht für$HOME,$= Nutzer,#= root.- Hostname anzeigen/setzen:
hostname.
Anatomie einer Befehlszeile
Schema: Befehl [Option(en)] [Argument(e)]
# Beispiele (mit Lösung)
ls -l /etc # Befehl=ls, Option=-l, Argument=/etc
ls -l -a # Befehl=ls, Optionen=-l -a, Argumente=n/a
cd /home/user # Befehl=cd, Argument=/home/user
Kurzoptionen lassen sich bündeln (-al), Langoptionen sind oft gleichwertig (-l ≈ --format=long). Fast jedes Tool erklärt sich via --help und Manpage.
Builtins vs. externe Befehle
Builtins (Teil der Shell) wie cd, exit, echo sind schnell und verfügbar, externe Befehle (Binär/Skript) wie cat, man liegen als Dateien im System. Prüfen mit type:
type cd # Shell-Builtin
type cat # externes Programm
type exit # Shell-Builtin
Quoting korrekt anwenden
Sobald Leer-/Sonderzeichen oder Variablen auftauchen, entscheidet Quoting.
- Doppelte Anführungszeichen
"…": schützen fast alles, lassen aber$,\,$(…)/`…`aktiv.
echo "I am $USER" # Variable wird expandiert
touch "new file" # genau 1 Datei: "new file"
- Einfache Anführungszeichen
'…': geben alles wörtlich aus.
echo 'I am $USER' # Ausgabe: I am $USER (ohne Expansion)
- Escape
\: hebt die Sonderbedeutung des nächsten Zeichens auf.
echo \$USER # Ausgabe: $USER
Übungslösungen integriert:
echo "$HOME is my home directory"→ /home/user is my home directory;touch "$USER"erstellt eine Datei <dein-username>;touch 'touch'erzeugt eine Datei namens touch.
Mini-Automatisierung: Brace & Globs
Ohne Skript schon produktiv:
# 5 nummerierte Dateien (Brace Expansion)
touch game{1..5}
ls
# game1 game2 game3 game4 game5
# passendes Löschen (Globs)
rm game? # genau die 5 Dateien (ein Zeichen am Ende)
Befehle interagieren lassen
Neben Sequenzierung (;) sind wichtig (Vorschau auf spätere Lektionen):
- Pipes
|: Ausgabe → Eingabe - Umleitungen
>/>>/< - Kommandoersetzung
$(…) - Logische Operatoren
&&(nur bei Erfolg),||(bei Fehlschlag) - Subshells
( … )für isolierte Umgebungen
Warum das direkt Job-Impact hat
- Reproduzierbarkeit: Befehle & Optionen sind dokumentier- und versionierbar.
- Sicherheit: korrektes Quoting verhindert destruktive Expansions.
- Portabilität & Tempo: Builtins sind schnell; externe Tools gezielt einsetzen.
- Remote-first: SSH + CLI funktionieren in VMs, Containern und K8s-Pods.
Merkliste
- Struktur: Befehl – Option(en) – Argument(e)
- Prompt:
user@host:~$vs.root@host:~# - Builtins vs. extern: prüfen mit
type - Quoting:
"…"(Variablen aktiv),'…'(wörtlich),\(ein Zeichen) - Expansion:
file{1..5},rm file? - Verkettung:
|,>,$(…),&&,||

Schreibe einen Kommentar