Was ist eine Shell?

Eine Shell ist ein Kommandozeileninterpreter, er nimmt einen Befehl entgegen, interpretiert ihn und gibt das Ergebniss dann dem Programm weiter, das diesen Befehl ausführt. Dadurch lässt sich die Arbeit sehr erleichtern, weil die Shell den Befehl für den User ausarbeitet. Es lassen sich auch Befehle verketten und/oder direkt Shell-Skripte erstellen. Das letztere lässt die Shell einem mächtigen Werkzeug in der Unix/Linux Welt werden.

Welche Shells gibt es?

Eine der ältesten Shells ist wohl die Bourne-Shell (sh). Diese stellt unter Unix/Linux den Mindeststandard dar und ist in der POSIX auch so definiert. Die POSIX legt solche Mindeststandards fest dadurch wird man auf jeden Unix-Rechner mindestens eine Bourne-Shell finden. Dadurch das sie die älteste Shell ist, ist sie aber nicht die komfortabelste und es lassen sich nicht alle Dinge so machen wie auf einer modernen Shell. Moderne Shells wie z.B die Bash, Z-Shell oder die Korn-Shell bieten mehr Komfort und sind dadurch heute mehr anzutreffen. Es gibt auch Shells die für Programmierer gemacht wurden, wie z.B. die C-Shell, sie ähnelt der Programmiersprache C.

Was kann ich jetzt mit einer Shell machen?

Kommandos eingeben ;-). Man muss sie nicht unbedingt nutzen, da es mittlerweile viele grafische Werkzeuge gibt wo sich manches schneller erledigen lässt. Besonders wichtig wird sie, wenn keine grafische Oberfläche zu Verfügung steht, z.B. bei Servern oder wenn der X-Server nicht mag.

Wie gebe ich jetzt einen Befehl ein?

Als erstes muss man wissen was man machen will. Dann sucht man (später weiß man es) den entsprechenden Befehl. Es gibt einen bestimmten Syntax mit dem man Kommandos eingibt:

Befehl [Option] [Argument]
ls -l /bin/

Diese einzelnen Komponente sind durch Leerzeichen getrennt und bilden zusammen ein Befehl. Der erste Teil ls steht für den Befehl in diesen Fall ein Befehl der den Inhalt eines Verzeichnisses ausgibt. Der zweite Teil -l veranlässt den Befehl ls die Ausgaben in ausführlicher Form zu präsentieren. Und der dritte und letzte Teil /bin/ gibt das Verzeichnis an welchen angezeigt werden soll.

Natürlich geht auch einfacher probiere es einfach ls aus und du wirst sehen das die Inhalt es aktuellen Verzeichnisses ausgibt.

Als Argumente können auch Jokerzeichen verwenden.

Da man nicht alle Optionen merken kann kann man diese auch mit

Befehl –help oder
man Befehl

nachsehen.

Welches sind die wichtigsten Kommandos?

Befehle rund um die Dateien-Verwaltung

ls zum anzeigen von Dateien
cp um ein Dateien zu kopieren
rm um Dateien zu Löschen
mv um Dateien zu Verschieben
find suchen Dateisystem
locate schnelles suchen über Datenbank im Dateisystem

Befehle rund um die Dateien-Eigenschaften

chown ändern des Besitzer einer Datei
chgrp ändern der Gruppenzugehörigkeit
chmod zum ändern der Berechtigungen
file um zu sehen was für ein Dateityp es ist

Befehle rund um das Dateien Erstellung und Veränderung

touch um eine neue Datei anzulegen
ln um eine Link zu erstellen
vi um Dateien zu Editieren
emacs um Dateien zu Editieren
cat zum ausgeben des Inhalts einer Datei
more zum zeilenweisen Ausgabe des Inhalts einer Datei
grep zum durchsuchen von einer Datei

Befehle rund um das Verzeichnis

cd um in ein anderes Verzeichnis zu wechseln
pwd zeigt einem den Pfad des aktuellen Verzeichnisses
mkdir erstellt ein neues Verzeichnis
rmdir löscht leere Verzeichnisse

Weblinks