Unternehmen Hackersoftteam

Linux Shell

Shell

Die Schnittstelle zwischen dem Anwender (User) und dem Betriebssystem Linux ist der Befehlsinterpreter. Wie folgende Abbildung darstellen soll, legt sich die „Shell“ um Linux (Kernel) wie eine Schale.

Shell als Vermittler zwischen Anwender (User) und Kernel (Linux)

Die Shell hat die Aufgabe, eine Verbindung zwischen den Betriebssystem Linux und den Anwender(n) mittels Kommandozeilen herzustellen. Der Sinn der Shell besteht darin:
1.) die eingegebene Kommandozeilen zu lesen
2.) den Sinn dieser zu interpretieren
3.) die eingegebenen Kommandos auszuführen
4.) das Ergebnis an die Ausgänge zurück zuleiten

Es gibt mehrere Shells. Die gängigsten sind sh (bourne shell), bash (bourne again shell) oder csh (c shell). Mehr Shells könnt Ihr hier finden.

Da es unterschiedliche Shells gibt, besitzt jeder Anwender (User) eine Shell als Standardvorgabe, die beim Start von Linux im Textmodus oder beim Öffnen eines Terminals unter einer grafischen Desktopumgebung (z.B. KDE, Gnome, ...) gestartet wird. Die Einstellung der Standardshell wird in der Konfigurationsdatei /etc/passwd im letzten Feld der Benutzerzeile angegeben. Es besteht die Möglichkeit, die Shell während einer Sitzung zu wechseln, in dem man z.B. einer der folgenden Ausführungsdateien eingibt:

sh [ENTER] oder /bin/sh [ENTER] - wechsel in die "Bourne Shell"
bash [ENTER] oder /bin/bash [ENTER] - wechsel in die "Bourne Again Shell"

Da es möglich sein kann, dass das Kommando der verschiedenen Shells nicht gefunden wird, sollte man hier die Pfadangabe (in Ordner /bin/ befinden sich die Shells [z.B.: sh, bash, csh, ...] als ausführbare Programme) /bin/ mit eingeben. Vorausgesetzt ist, dass die Shell zu der man wechseln möchte, auf dem PC installiert ist.

Zurück in die vorherige Shell gelangt man mit dem Kommando exit.

Wie kommt man an die Shell?

Wie im Thema Shell schon beschrieben, startet unter einer nicht grafischen Desktopoberfläche (unter Linux) eine Shell automatisch beim Hochfahren des PCs. Hier kann man die Shell sofort nutzen.

Linux Shell ohne installierte grafische Desktopumgebung.

Was aber, wenn man sich nun unter einer grafischen Desktopumgebung befindet, wie z.B. KDE, Gnome usw.? Hier benötigt man die Konsole. Eine weitere Bezeichnung von Konsole ist Terminal. Hier hat man auch die Qual der Wahl und kann unter verschiedenen Terminals auswählen. Es kommt hier darauf an, welches Terminal auf dem PC installiert ist oder mit welchem Terminal man am liebsten arbeitet. Hier sind verschiedene Terminals aufgelistet.

Es gibt verschiedene Möglichkeiten um ein Terminal zu starten.

1. Möglichkeit: Über das Menü
1. Beispiel unter Gnome-Menü: Anwendungen / Systemwerkzeuge / Konsole
2. Beispiel unter KDE-Menü: System / Terminals / X-Terminal
3. Beispiel unter KDE-Menü: System / Terminals / Gnome Terminal

Starte Terminal oder Konsole per Menü unter Linux.

ACHTUNG: Die hier angegebenen Beispiele können in den verschiedenen Distributionen abweichen!

2. Möglichkeit: Über das Dialogfeld "Programme ausführen"
Wenn man sich unter einer grafischen Desktopumgebung befindet, betätigt man [Alt]+[F2] und gibt in das erscheinende Dialogfenster z.B. konsole oder xterm ein. Weitere Terminals sind hier zu finden.

Starte Terminal oder Konsole per Anwendung ausführen.

Danach öffnet sich ein Terminal.

Wenn man nun ein Terminal mit der Shell wieder schließen möchte, so ist dieses mit dem Kommando exit möglich oder man schließt das Fenster mit dem Schließen-Knopf Schließen-Knopf oben rechts (kann auch oben links sein, z.B. Ubuntu 10.04 - Gnome).

Beende Terminal mit Kommando exit.

3. Möglichkeit: In den Textmodus wechseln
Wenn man sich unter einer grafischen Desktopumgebung befindet, kann auch in den Textmodus gewechselt werden mittels:
[Strg] + [Alt] + [F1]
[Strg] + [Alt] + [F2]
[Strg] + [Alt] + [F3]
[Strg] + [Alt] + [F4]
[Strg] + [Alt] + [F5]
[Strg] + [Alt] + [F6]

Wenn man wieder in die grafische Desktopumgebung zurück möchte, so muss man folgende Tastenkombination betätigen:
[Strg] + [Alt] + [F7]

Prompt (Eingabeaufforderung)

Die Shell initialisiert sich wie folgt:
1.) sie liest ihre globale Konfiguration in einer Datei des Verzeichnisses /etc/
2.) dann liest sie die Benutzerkonfiguration in einer versteckten Datei (versteckte Dateien beginnen immer mit einem Punkt im Namen ), die sich in dem Benutzerbasisverzeichnis befindet, d.h. /home/Benutzername/.Konfigurationsdatei)
3.) danach zeigt die Shell den Prompt (zu Deutsch: Eingabeaufforderung) an:

Shell Bourne Shell - sh,
angemeldet mit normalen Nutzerrechten
Aufbau des Prompt in sh als user - Normaler Nutzer
Shell Bourne Shell - sh,
angemeldet mit vollen Zugriffsrechten - root
Aufbau des Prompt in sh als root - volle Zugriffsrechte
Shell Bourne Again Shell - bash,
angemeldet mit normalen Nutzerrechten
Aufbau des Prompt in der bash als user - normaler Nutzer
Shell Bourne Again Shell - bash,
angemeldet mit vollen Zugriffsrechten - root
Aufbau des Prompt in bash als root - volle Zugriffsrechte

Aufbau des Prompt: mike@mike-desktop:/etc/apache2$

Der Prompt besteht meist, wie hier im oberen gezeigten Beispiel (oberes Beispiel stammt aus Distribution: Ubuntu 10.04, Kernel: 2.6.32.9 amd64, Desktopumgebung: Gnome, Terminal: Konsole, Shell: bash ), aus dem Benutzernamen mike, abgetrennt mit einem @ vom Namen des Rechners (Hostname) mike-desktop, gefolgt von einem :, der das Arbeitsverzeichnis /etc/apache2 von diesem wiederum abtrennt und einem Zeichen $, das den verbundenen Benutzertypen angibt:

  • $ - gibt an, dass es sich um einen normalen Benutzer handelt
  • # - gibt an, dass es sich um den Administrator handelt, genannt root

123-finder.de Webkatalog und Webverzeichnis