Unix-Shells

Eine Unix‑Shell (in der Bedeutung hier) ist ein Kommando‑Interpreter, der eine Schnittstelle bietet, um Unix/Unix‑ähnliche Systeme zu bedienen. Über die Jahre wurden verschiedene Shells mit unterschiedlichen Eigenschaften entwickelt. Hier kommentiere ich kurz die bekanntesten und gebe Tipps zur Konfiguration der Shell, die ich nutze.
Im folgenden Diagramm sind die sechs populärsten Shells so angeordnet, dass eine untere die Funktionen der oberen erweitert; Shells aus verschiedenen Zweigen sind inkompatibel.
csh (C shell) sh (Bourne shell)
| / \
| | ksh (Korn shell)
| | |
tcsh (TC shell) bash zsh (Z shell)
Von Bill Joy an der UC Berkeley entwickelt (1978 in BSD), war sie beliebt fürs Scripting, da die Syntax an C erinnert; wird aber wegen Implementierungsproblemen kritisiert.
Im Wesentlichen C‑Shell mit Extras wie Tab‑Completion, Zeilen‑Editor und besserer History.
Die traditionelle Shell (Stephen Bourne, Bell Labs, 1977). War Standard in Unix Version 7 und ist weiterhin verbreitet.
Von Brian Fox fürs GNU‑Projekt (1989) als Ersatz für die Bourne‑Shell mit vielen Erweiterungen. In vielen Linux‑Distributionen und macOS Standard.
1983 von David Korn (AT&T Bell Labs). Voll kompatibel zu Bourne‑Shell, mit vielen zusätzlichen Features, teils aus der C‑Shell übernommen.
1990 von Paul Falstad (Princeton). Sehr umfassend; lässt sich als Erweiterung der Bourne‑Shell mit Features aus
bash,ksh,tcshverstehen und bringt eigene Funktionen (z. B. Rechtschreibkorrektur) mit.
Da Zsh meine Lieblings‑Shell ist, beschreibe ich Installation und Konfiguration (Arch Linux).
In
/etc/shellsprüfen, welche Shells installiert sind. Falls zsh fehlt, installieren:sudo pacman -S zshInstallation testen und Grundkonfiguration vornehmen:
zshZsh als Standard‑Shell setzen (wirkt nach erneutem Login):
chsh -s $(which zsh)Hauptkonfigurationsdatei
~/.zshrcbearbeiten.Eine einfache Möglichkeit ist Oh My Zsh:
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc chsh -s /bin/zshMeine Dotfiles: https://github.com/jbsilva/dotfiles.
Links
- Kommentare: http://linuxfinances.info/info/unixshells.html
- Vergleichstabelle: http://www.faqs.org/faqs/unix-faq/shell/shell-differences/
- Arch Wiki – Zsh: https://wiki.archlinux.org/index.php/Zsh
- Anpassung verschiedener Shells: http://www.understudy.net/custom.html
- Unterschiede: http://www.softlab.ntua.gr/facilities/documentation/unix/shelldiff.html
- Kommentare zu Shell und Skripten: http://faculty.plattsburgh.edu/jan.plaza/computing/help/shells.html
- Zsh – Offizielle FAQ: http://zsh.sourceforge.net/FAQ/zshfaq01.html
- Zsh Lovers: http://grml.org/zsh/zsh-lovers.html
- Oh My Zsh (Framework): https://github.com/robbyrussell/oh-my-zsh
- ZSH Wiki: http://zshwiki.org

Ich bin ein brasilianischer Computeringenieur mit Wohnsitz in Deutschland und begeistere mich für Technik, Wissenschaft, Fotografie und Sprachen.
Ich programmiere seit etwa zwei Jahrzehnten und habe dabei alles von mobilen Apps und Webentwicklung bis hin zu Machine Learning erkundet. Derzeit fokussiere ich mich auf Cloud‑SRE und Data Engineering.
Ich engagiere mich ehrenamtlich in den Open‑Source- und Python‑Communities, helfe bei der Organisation der PyCon DE und PyData Berlin, betreue als Mentor und trage mit Code und Übersetzungen bei.
In meinem Blog teile ich Linux‑Tipps, Einrichtungsanleitungen und persönliche Notizen, die ich als spätere Referenz geschrieben habe. Ich hoffe, dass sie auch anderen nützlich sind. Die Inhalte sind in mehreren Sprachen verfügbar.
Schau dir meine Galerie an, um einige meiner Fotografien zu sehen.
Abseits der Tastatur findest du mich auf Konzerten, beim Klarinettenspiel, Radfahren, Tauchen oder beim Erkunden neuer Orte, Kulturen und Küchen.
Ich freue mich immer über den Austausch! 🙂