Die Shell — wie sie denkt
Die Shell (meist bash oder zsh) ist ein REPL: du gibst eine Zeile ein, sie führt aus, gibt zurück. Aber sie ist auch eine Skriptsprache.
Pipes & Redirects
# Pipe: Output von links → Input von rechts ls -la | grep ".log" | wc -l # Redirect Output in Datei ls > files.txt # überschreiben ls >> files.txt # anhängen echo "fehler" 2> err.log # Fehler-Stream ls /no 2>&1 # Fehler in Output mischen ls /no 2>/dev/null # Fehler verwerfen
Quoting
echo $USER # → "alice" (Variable expandiert) echo "$USER" # → "alice" (string, aber expandiert) echo '$USER' # → "$USER" (literal!) echo "hat $USER" # → "hat alice"
Glob (Wildcard)
ls *.txt # alle .txt-Dateien ls ?.log # einbuchstabige Namen vor .log ls [ab]* # beginnt mit a oder b ls **/*.py # alle .py rekursiv (mit globstar)
Wichtige Befehle
| Befehl | Was er tut |
|---|---|
ls | Liste Dateien (-la = alle, lang) |
cd | Verzeichnis wechseln |
pwd | Aktuelles Verzeichnis |
cat | Datei ausgeben |
less | Datei seitenweise (q zum Beenden) |
grep | Muster suchen |
find | Dateien finden nach Name/Größe/Alter |
head/tail | Erste/letzte n Zeilen, -f für live |
wc | Zähle Zeilen/Wörter/Bytes |
sort/uniq | Sortieren, dedupe |
awk/sed | Text bearbeiten |
curl/wget | HTTP-Anfragen |
Zurück zu Technik