Linux Shell
Eine Shell (engl.: Schale, Muschel), auch (Eingabe-) Konsole oder Benutzerschnittstelle genannt, ist eine
- Schnittstelle zwischen Kernel und Mensch
- interaktive Oberfläche, über die dem Linux Kernel Kommandos mitgeteilt werden können und die Programmausgaben und Fehlermeldungen anzeigt
- Oberfläche mit eigenem Befehlsvorrat und eingebauten Funktionalitäten
- vollständige Programmiersprache.
Unter Linux ist eine Shell nicht fest in den Kernel integriert, sonder austauschbar. Deswegen gibt es eine Vielzahl von Shells, mit unterschiedlichem Aussehen, Befehlsvorrat, verschiedener Syntax und differierenden Funktionalitäten. Manche Shells sind spezialisiert, nur zum Erfüllen einer einzigen Aufgabe, z.B. zum Benutzerverwalten, Einloggen, ... . Den meisten Standardshells ist gemein, dass sie alle Betriebssystembefehle entgegennehmen können.
Des Weiteren werden einer Shell vom Betriebssystem bzw. von entsprechenden Konfigurationsdateien Werte auf die die Shell jederzeit zugreifen kann, zur Verfügung gestellt. Diese Werte werden in sog. Shellvariablen hinterlegt. Die Gesamtheit aller Shellvariablen nennt man Shellenviroment. Welche Variablen mit welchen Werten zur Verfügung gestellt werden, hängt u.a. von Einstellungen des Betriebssystems, privaten Einstellungen und der Shell selbst ab. Man kann die vordefinierten Werte dieser Variablen selbständig verändern, bzw. neue Variablen definieren oder auch bereits vorhandene löschen.
Linux Standardshell: bash
Die am meisten verbreitete Shell unter Linux: bash (= bourne again shell). Diese ist eine wesentliche Weiterentwicklung der sh-Shell (= bourne shell).
Benötigt wird: Paket bash
Konfigurations- und wichtige Dateien der bash
/etc/passwd
enthält in der letzten Spalte für jeden User die Standardshell (= Login-Shell)
/etc/shells
enthält eine Liste von Shells der Form /Pfad/shell die die User verwenden dürfen
/etc/inputrc
an Tasten gebundene Editierfunktionen sind hier global konfiguriert
~/.inputrc
an Tasten gebundene Editierfunktionen
~/.bash_history
enthält die letzten (Standard: 500/1000) von der bash ausgeführten Befehle
/etc/profile
Einstellungen, nur für die in /etc/passwd hinterlegte Loginshell
wird beim Starten der Login-bash automatisch ausgewertet. Hinterlegte Variablen werden automatisch exportiert
~/.bashrc
wird beim Starten der (Sub-/Login-) bash automatisch ausgewertet. Hinterlegte Variablen werden automatisch exportiert
~/.profile
Einstellungen nur für die Loginshell
~/.bash_profile
enthält Befehle, die beim Aufruf einer bash-(Sub-) Shell automatisch abgearbeitet werden
~/.bash_logout
enthält Befehle, die beim Beenden einer bash-Shell automatisch abgearbeitet werden bash Konfigurationsdateien können, müssen aber nicht vorhanden sein.
Reihenfolge des Abarbeitens beim Aufruf als:
Login:
- /etc/profile
- /bash.bash.rc
- ~/.bash_login
- ~/.bashrc
- ~/.profile
einer Sub-bash:
- ~/.bashrc
- ~/.bash_profile
Weitere Beiträge in » Linux & Unix
Am besten bewertete Veröffentlichungen
» Wie kommunizieren wir heute? |
|
» Sportler brauchen Vitamine und Mineralstoffe |
|
» Datenrettung Software |
|
» Gütesiegel |
|
» Nachname - Familienname - Namensrecht |
Interne Artikel
Externe Artikel
TagCloud
- 12 users online.