Solaris Handbuch für Fortgeschrittene Benutzer

2.2 Befehle eingeben

Die Eingabeaufforderung gibt an, daß das System bereit ist, Befehle entgegenzunehmen und zu verarbeiten. Geben Sie probehalber den Befehl date ein, und schließen Sie die Eingabe mit Return" ab:

$ date

Montag, 3. Februar 1992, 10:12:51 Uhr MET

$

Dieser Befehl zeigt das aktuelle Datum und die aktuelle Uhrzeit an. Geben Sie den gleichen Befehl jetzt mit großem Anfangsbuchstaben ein:

$ Date

Date: Befehl nicht gefunden.

$

Wie Sie sehen, ist ein Großbuchstabe für das System nicht dasselbe wie ein Kleinbuchstabe. SunOS Befehle werden fast alle in Kleinbuchstaben eingegeben.

2.2.1 Eingabefehler korrigieren

Nehmen wir an, Sie haben Date zwar schon eingegeben, Ihren Fehler jedoch bemerkt, bevor Sie Return" gedrückt haben. Da der Befehl erst nach dem Drücken von Return" an das System gesendet wird, können Sie den Fehler noch korrigieren. Dafür stehen zwei Methoden zur Auswahl:

Probieren Sie beide Methoden aus. Die Funktion der Rücktaste und der Taste Del" ist nicht auf allen Systemen gleich. Die Tastenkombination Ctrl-U" funktioniert auf den meisten Systemen.

2.2.2 Mehrere Befehle und lange Befehle eingeben

Wenn Sie mehrere Befehle gleichzeitig an das System übergeben wollen, verwenden Sie das Semikolon als Trennzeichen. Wenn Sie die Befehle date und logname wie in folgendem Beispiel gezeigt eingeben, brauchen Sie zum Abschluß nur einmal Return" zu drücken:

$ date; logname

Montag, 3. Februar 1992, 10:12:51 Uhr MET

nina

$

Da die Befehle nacheinander abgearbeitet werden, erscheinen zunächst das Datum und die Uhrzeit (die Ausgabe des Befehls date) und danach der Login-Name des aktuell angemeldeten Benutzers (Ausgabe des Befehls logname).

Wenn Sie einen sehr langen Befehl eingeben, können Sie durch Eingabe eines Gegenschrägstrichs (\) eine neue Zeile beginnen. Zum Beispiel:

$ date; \

logname

Montag, 3. Februar 1992, 10:12:51 Uhr MET

nina

$

Die Befehle date und logname sind zwar nicht gerade lang, aber sie sollen hier auch nur demonstrieren, wie Sie eine logische Befehlszeile über zwei oder mehr Bildschirmzeilen fortsetzen können. Wenn Sie später mit langen Befehlen arbeiten, die über die Breite des Bildschirms hinausgehen, werden Sie diese Methode häufiger einsetzen.


Hinweis -

In der Kommando-Shell und der UNIX-Shell von OpenWindows benötigen Sie den Gegenschrägstrich nicht, weil die Befehlszeile dort bei Erreichen des rechten Rands automatisch in der nächsten Zeile fortgesetzt wird.


2.2.3 Eingaben wiederholen


Hinweis -

Die in diesem Abschnitt beschriebenen Funktionen stehen nur in der C-Shell zur Verfügung.


Um die letzte Befehlseingabe zu wiederholen, geben Sie !! ein und drücken Return". Dies ist möglich, weil das System alle Eingaben protokolliert. Um den zuvor eingegebenen Befehl date noch einmal an das System zu senden, würden Sie also folgendes eingeben:

beispiel% !!

date

Montag, 3. Februar 1992, 10:12:51 Uhr MET

beispiel%

Das Befehlsprotokoll wird als Historie bezeichnet. Sie können jeden Befehl daraus durch Eingabe von !x, wiederholen, wobei Sie x durch die Nummer des gewünschten Befehls ersetzen. Um den Inhalt der Historie anzuzeigen, geben Sie history ein und drücken Return". Zum Beispiel:

beispiel% history

1  pwd

2  clear

3  ls -l

4  cd /usr/home/worker

5  logname

6  date

7  history

Sie können nach dem Ausrufezeichen auch eine negative Zahl angeben. In diesem Fall zählt das System um die entsprechende Anzahl Einträge nach oben und wiederholt den dort stehenden Befehl. Um den Befehl logname aus der oben gezeigten Historie zu wiederholen, würden Sie also folgendes eingeben:

beispiel% !-2

logname

nina

beispiel%

Sie können dem Ausrufezeichen auch die Anfangsbuchstaben eines bereits eingegebenen Befehls nachstellen. Wenn Sie zuvor den Bildschirm schon einmal mit dem Befehl clear geleert haben, könnten Sie dies also durch Eingabe von !cl wiederholen. Bei dieser Methode müssen Sie jedoch darauf achten, daß Ihre Eingabe eindeutig ist. Wenn mehrere Befehle in der Historie mit den von Ihnen angegebenen Buchstaben beginnen, wird der zuletzt eingegebene Befehl wiederholt.

2.2.4 Befehlsoptionen

Bei vielen Befehlen läßt sich die Ausführung durch Eingabe von Optionen beeinflussen. Der Befehl date kann beispielsweise mit der Option -u eingegeben werden und zeigt dann statt der lokalen Uhrzeit Greenwich Mean Time an:

$ date -u

Mo Mär 15 12:18:36 GMT 1993

$

Befehlsoptionen bestehen meist aus einem Bindestrich und einem einzelnen Buchstaben. Manche Befehle unterstützen mehrere Optionen, andere überhaupt keine. Wenn Sie einen Befehl mit mehreren Optionen verwenden, können Sie diese entweder separat ( -a -b) oder zusammen (-ab) eingeben.

2.2.5 Befehlsausgabe umleiten

Die von einem Befehl ausgegebenen Daten werden normalerweise auf dem Bildschirm angezeigt. Mit Hilfe spezieller Symbole können Sie die Befehlsausgabe umleiten. Wenn Sie die Ausgabe beispielsweise in einer Datei speichern wollen, verwenden Sie das Größer-Zeichen (>):

$ date > beispiel.dat

$ 

In diesem Beispiel wird die Ausgabe des Befehls date in eine neue Datei namens beispiel.dat umgeleitet, deren Inhalt Sie dann mit dem Befehl more anzeigen können:

$ more beispiel.dat

Mo Mär 15 12:18:36 GMT 1993

$

Weitere Informationen zu dem Befehl more finden Sie in Kapitel 3.

Wenn Sie die Ausgabe eines Befehls als Eingabe an einen anderen Befehl übergeben wollen, verbinden Sie die beiden Befehle zu einer Pipeline. Als Umleitungszeichen verwenden Sie in diesem Fall den senkrechten Strich (|), der auch als Pipe bezeichnet wird.

Auf diese Weise könnten Sie die Ausgabe beispielsweise an den Druckbefehl lp übergeben. Um die von dem Befehl date ausgegebenen Daten direkt an den Drucker zu senden, würden Sie also folgendes eingeben:

$ date | lp

$

Weitere Informationen zu dem Befehl lp finden Sie im Abschnitt "8.2.1 Anforderungen an den Standarddrucker senden" in Kapitel 8.

Die hier vorgestellten Beispiele zur Verwendung von Pipes und zur Befehlsumleitung sind relativ einfach, aber wenn Sie später mit komplexeren Befehlen arbeiten, werden Sie feststellen, daß diese Funktionen sehr vielseitig eingesetzt werden können.

2.2.6 Befehle im Hintergrund ausführen

Befehle, mit denen das System längere Zeit beschäftigt ist, sollten möglichst in den Hintergrund gestellt werden. Wenn Sie das nicht tun, erscheint die Eingabeaufforderung nämlich erst wieder, wenn der Befehl vollständig ausgeführt wurde, d. h. es kann unter Umständen einige Zeit dauern, bis Sie weitere Befehle eingeben können.

Um einen Befehl in den Hintergrund zu stellen, geben Sie nach dem Befehlswort das Et-Zeichen & ein. Das System gibt dann die Nummer des Hintergrundprozesses aus. Zum Beispiel:

$ bigjob &

[1] 21414

$ 

Der Befehl bigjob wird nun im Hintergrund ausgeführt, und Sie können weitere Befehle eingeben. Sobald der Befehl abgearbeitet ist, informiert Sie das System durch eine Statusmeldung. Diese Meldung erscheint zusammen mit der Ausgabe des ersten Befehls, den Sie nach Beendigung des Hintergrundprozesses eingeben (im folgenden Beispiel ist das der Befehl date):

$ date

Mo Mär 15 12:18:36 GMT 1993

[1]  + Done    bigjob

$ 

Mit dem Befehl nohup (no hangup) können Sie das System anweisen, einen Befehl in jedem Fall vollständig abzuarbeiten. Wenn Sie dies nicht tun, wird der Hintergrundprozeß abgebrochen, sobald Sie sich beim System abmelden.

$ nohup bigjob &

[1] 21414

$