Ein Projekt von Meg Palffy

Allgemeines zum Eingeben von Befehlen in der Shell

Was ist eine Shell?

Ein Shell-Programm ist ein Programm, mit dem Du in Deiner grafischen Oberfläche (z.B. in KDE) ein Fenster für die Eingabe von direkten Kommandos öffnen kannst. Die Shell ist vergleichbar mit der "DOS-Eingabeaufforderung" unter Microsoft Windows-Betriebssystemen. Sie erlaubt Dir, direkt mit dem Betriebssystem zu arbeiten und Befehle einzutippen, die sofort ausgeführt werden.

Unter Linux gibt es verschiedene Shell-Programme, z.B. die "bash" (das steht für "Bourne-Again Shell"). Welche Shell Du als Standard verwendest, ist in der Benutzerkonfiguration Deines Linux-Systems festgelegt.

Wie Du die Shell in Deiner grafischen Oberfläche aufrufen kannst, kann ich Dir hier nicht ausführlich beschreiben, weil es in verschiedenen Oberflächen jeweils anders sein kann. Ich selbst benutze im Moment SuSE Linux 7.3 mit der grafischen Oberfläche KDE. Dort gibt es in der Menüleiste unten einen Button, mit dem sich eine "Konsole", d.h. die Shell, öffnen läßt. Du kannst auch mehrere Shell-Fenster öffnen - aber achte drauf, daß Du nicht den Überblick verlierst... ;o)

Was ist ein Prompt?

Das englische Verb "to prompt" bedeutet: etwas auslösen; jemanden veranlassen, etwas zu tun; jemanden zu etwas bewegen oder auffordern. Im Theater bedeutet es: soufflieren, den Text vorsagen.

In der Shell ist das Prompt die Stelle, an der Du Befehle eingibst. Außerdem verrät Dir das Prompt unter Linux normalerweise auch noch, wer Du bist (d.h. als welcher Benutzer Du angemeldet / eingeloggt bist), wie der Rechner heißt, auf dem Du gerade arbeitest, und wo Du Dich befindest (d.h. an welcher Stelle in der Verzeichnisstruktur des Rechners Du gerade stehst).

Bei mir sieht das Prompt z.B. so aus:

    meg@rutabaga:~>

Daran kann ich erkennen, daß ich als Benutzerin meg eingeloggt bin, daß mein Rechner rutabaga heißt, und daß ich mich gerade in meinem eigenen Home-Verzeichnis (~) befinde. (Mehr zum Home-Verzeichnis steht im Abschnitt Verzeichnisse.)

Befehle eintippen und ausführen

Du kannst Befehle einfach am Prompt eintippen.

Befehle sind in der Regel nach dem folgenden Grundschema aufgebaut:

    befehl -parameter objekt(e)

Zuerst tippst Du den Namen des Befehls ein. Falls der Befehl Parameter benötigt, tippst Du nach dem Befehl ein Leerzeichen ein, dann einen Strich (-) und einen oder mehrere Parameter direkt dahinter. Danach kommen, wieder durch ein Leerzeichen getrennt, die Objekte, auf die der Befehl angewendet werden soll, also z.B. Dateien oder Verzeichnisse. Hier ein paar Beispiele für Befehle, mit und ohne Parameter und Objekte:

1. Beispiel: Ein Befehl ohne Parameter und Objekte

    meg@rutabaga:~> pwd

Mit dem Befehl pwd ("print working directory") kanst Du Dir anzeigen lassen, in welchem Verzeichnis Du Dich gerade befindest. Dieser Befehl braucht normalerweise keine Parameter. Mein Rechner antwortet mir z.B. mit der Zeile:

    /home/meg

Das heißt: ich befinde mich in meinem eigenen Home-Verzeichnis.

2. Beispiel: Ein Befehl ohne Parameter, aber mit zwei Objekten

    meg@rutabaga:~> cp datei.txt dateikopie.txt

Mit dem Befehl cp ("copy") kannst Du z.B. eine Datei kopieren. Dafür benötigt dieser Befehl als Objekte zwei Informationen: welche Datei soll kopiert werden, und wohin soll sie kopiert werden? Im Beispiel oben kopiere ich den Inhalt der Datei datei.txt in eine neue Datei hinein, die ich dateikopie.txt nenne.

3. Beispiel: Ein Befehl mit mehreren Parametern und einem Objekt

    meg@rutabaga:~> ls -al verzeichnis/
    drwxr-xr-x    2 meg      users          73 Jun 29 16:36 .
    drwxr-xr-x    7 meg      users         171 Jun 29 16:14 ..
    -rw-r--r--    1 meg      users         248 Jun 29 16:34 datei.txt

Mit dem Befehl ls ("list") kannst Du den Inhalt eines Verzeichnisses abfragen, hier z.B. den Inhalt von verzeichnis/. Diesen Befehl kannst Du mit verschiedenen Parametern verwenden, z.B. mit den Parametern -a (listet alle, auch die versteckten Dateien und Verzeichnisse auf) und -l (zeigt zusätzliche Informationen zu den Dateien und Verzeichnissen an).

Der Rechner beantwortet diesen Befehl mit einer Liste, die die angeforderten Informationen über die Verzeichnisse und Dateien enthält.

Achte auf Klein- und Großbuchstaben!

Wenn Du unter Linux irgendwelche Namen eingibst, z.B. einen Befehl oder den Namen einer Datei oder eines Verzeichnisses, dann achte unbedingt auf den Unterschied zwischen Klein- und Großbuchstaben!

Das ist etwas ungewohnt, wenn Du bisher nur Microsoft Windows-Betriebssysteme kennst, denn dort spielt die Klein- oder Großschreibung von Dateinamen keine Rolle. Wenn Du aber auf einem Linux-Rechner arbeitest, sind datei.txt und Datei.txt zwei verschiedene Dateien!

Auch beim Eintippen von Parametern ist es sehr wichtig, auf Klein- oder Großschreibung zu achten. Etwas unübersichtlich wird die Sache dadurch, daß die Parameter nicht immer einheitlich verwendet werden. Derselbe Parameter kann bei zwei verschiedenen Befehlen durchaus unterschiedliche Wirkungen erzeugen. Ein Beispiel ist der Parameter -r oder -R (für "rekursiv"). Er wird mal klein, mal groß geschrieben, und oft haben die beiden Varianten des Parameters bei einem Befehl auch noch unterschiedliche Wirkungen... Wenn Du sicher gehen willst, lies die Bedeutung der Parameter zu einem bestimmten Befehl am besten in der entsprechenden Manpage nach.

Apropos Manpages und Hilfe...

Wenn Du es doch mal ganz genau wissen willst, kannst Du in den Manpages (d.h. "Manual Pages") nachlesen. Dazu mußt Du allerdings den Namen des Befehls kennen, zu dem Du Hilfe suchst. Um z.B. die Manpage zum Befehl pwd aufzurufen, gibst Du ein:

    meg@rutabaga:~> man pwd

Die entsprechende Manpage wird dann in der Shell angezeigt. Mit den Pfeiltasten oder den Bild-rauf- und Bild-runter-Tasten kannst Du durch den Text blättern. Um die Manpage zu schließen, drückst Du auf der Tastatur die Taste q (für "quit").

Eine weitere Möglichkeit, Hilfe zu einem Befehl zu bekommen, sind die Hilfethemen ("help topics"), die Du mit dem Befehl help aufrufen kannst:

    meg@rutabaga:~> help pwd

Du bekommst dann eine kurze Beschreibung zu dem entsprechenden Befehl angezeigt.

Übrigens - die beiden folgenden Kommandos funktionieren auch. Probier's ruhig mal aus. ;o)

    meg@rutabaga:~> man man
    meg@rutabaga:~> help help

Um etwas allgemeiner zu suchen (z.B. wenn Du nicht genau weißt, welchen Befehl Du eigentlich brauchst), kannst Du die vorhandenen Manpages nach Stichwörtern durchsuchen. Wenn Du z.B. Hilfe zum Thema Kopieren brauchst, kannst Du es mal hiermit probieren:

    meg@rutabaga:~> apropos copy

Falls es den Befehl apropos auf Deinem System nicht gibt, kannst Du es auch so versuchen:

    meg@rutabaga:~> man -k copy

Du bekommst eine Liste aller Manpages, in denen das Stichwort "copy" vorkommt. Laß Dich allerdings nicht entmutigen: diese Liste kann ziemlich lang sein. Meistens hast Du als Anfängerin oder Anfänger mehr Erfolg, wenn Du im Internet mit Hilfe von Suchmaschinen nach Deinem Thema suchst. Oft findest Du dort Seiten von Linux-Fans und -Kennern, die leichter verständlich und für den Anfang brauchbarer sind.

Die Shell schließen

Um die Shell zu schließen, gib einfach den Befehl exit ein.