claim.gif
Linux Magazin Linux User Easy Linux Ubuntu User International Linux Community
Erschienen in EasyLinux 11/2005

Arbeiten auf der Shell

Befehlsgewaltig

von Heike Jurzik


Alte Linux-Hasen schwören darauf: Sie geben mitunter komplizierte Befehlsfolgen ein, um den Linux-PC zu steuern. Ein- und Umsteiger finden das die Kommandoeingabe hingegen meistens gewöhnungsbedürftig. Wir helfen bei den ersten Schritten in der Shell.

EasyLinux-Leser, die schon etwas länger dabei sind, kennen bereits einige Kommandozeilenbefehle und wissen, dass vieles auf der Shell schneller (und manchmal auch leichter) geht. Es ist nun Zeit, einmal einen Schritt zurückzugehen und auch die neu hinzugekommenen Leser zu "begrüßen": In dieser Folge des Guru-Trainings fangen wir noch einmal bei Null an und zeigen die Grundlagen zum Arbeiten auf der Kommandozeile.

Konsole starten

Viele Wege führen zu einem Terminal -- unter Suse Linux klicken Sie beispielsweise in der Kontrollleiste auf das Icon mit der Muschel oder gehen über's K-Menü / System / Terminals / Konsole.

Bei Mandrake Linux finden Sie das Programm im K-Menü unter System / Terminals / Konsole. Alternativ nehmen Sie unter allen Distributionen den Schnellstarter zur Hilfe, drücken also [Alt-F2] und geben ins Befehlsfenster konsole ein (Abbildung 1).

Abb. 1: Über den Schnellstartdialog erreichen Sie das Terminal unter allen Distributionen.

Wer nicht mit KDEs eigenem Terminal-Programm arbeiten will, greift auf eine der zahlreichen Alternativen zurück, z. B. Gnome-Terminal (K-Menü / System / Terminals / Gnome Terminal) oder den Klassiker XTerm (K-Menü / System / Terminals / X-Terminal). Während Sie für die KDE-Konsole und das Gnome-Terminal das Look & Feel (Schriftgröße und anderes) komfortabel über das Menü konfigurieren, hilft beim XTerm nur ein Trick weiter: Mit gedrückt gehaltener [Strg]-Taste klicken Sie mit der Maus ins Terminal. Je nachdem, ob das die linke, mittlere oder rechte Maustaste ist, sehen Sie ein anderes Menü. Wählen Sie beispielsweise die rechte Maustaste, finden Sie einen Umschalter für die Schriftgröße (Abbildung 2).

Abb. 2: Drei Terminal-Programme im Vergleich: Einstellungen für das XTerm verändern Sie über die [Strg]-Taste und Klicks mit der linken, mittleren und rechten Maustaste.

Was steckt drin?

Nachdem Sie eine Konsole gestartet haben, sehen Sie zunächst ein leeres Fenster und den so genannten Shell-Prompt. Dieser sieht abhängig von der Distribution verschieden aus. Unter Suse Linux sehen Sie beispielsweise Ihren Benutzernamen, einen Klammeraffen (@), den Namen des Computers, einen Doppelpunkt, den Aufenthaltsort im Dateisystem (Start ist immer das eigene Home-Verzeichnis, welches durch eine Tilde repräsentiert wird) und ein Größer-Zeichen:

huhn@transpluto:~>

Bei Mandrake Linux sieht der Prompt ähnlich aus; zusätzlich gibt es eckige Klammern um den Prompt herum, und statt des Größer-Zeichens sehen Sie ein Dollarzeichen:

[huhn@transpluto ~]$

Arbeiten Sie hingegen als Systemverwalter root, sieht der Prompt anders aus. Unter Suse Linux sehen Sie:

transpluto:~ #

Zunächst fällt der Benutzername weg. Dass Sie als Administrator angemeldet sind, sehen Sie am Doppelkreuz #, welches das Größerzeichen ablöst. Mandrake Linux zeigt ebenfalls ein Doppelkreuz; zusätzlich sehen Sie den Benutzernamen des Administrators:

[root@transpluto]#

Auf los geht's los

Hinter dem Prompt zeigt der Cursor die aktuelle Eingabeposition an. Geben Sie jetzt über die Tastatur einen Befehl ein, taucht dieser Buchstabe für Buchstabe hinter dem Prompt auf. Mit [Eingabe] schicken Sie den Auftrag ab, und in der Regel erscheint die Ausgabe im Konsolenfenster. Nachdem die Shell den Befehl ausgeführt hat, sehen Sie wieder den Prompt -- daran erkennen Sie, dass Sie weitere Befehle eingeben können. So zeigt das einfache Kommando ls (englisch: "list" = "auflisten") zum Beispiel den Inhalt des aktuellen Verzeichnisses an. Nach getaner Arbeit sehen Sie wieder den Prompt, d. h. die Shell ist für die nächsten Aufgaben bereit:

huhn@transpluto:~> ls
datei1
datei2
verzeichnis/
...
huhn@transpluto:~> _

Wechseln Sie mit dem cd-Befehl (wie englisch "change directory" = "Verzeichnis wechseln") in einen anderen Ordner, verändert sich der Prompt und zeigt den neuen Aufenthaltsort an:

huhn@transpluto:~> cd bilder
huhn@transpluto:~/bilder> _

Bei vielen Befehlen können Sie die Eingabe mit der so genannten Tab-Completion (deutsch etwa: Tabulator-Vervollständigung) verkürzen, indem Sie die ersten zwei bis drei Buchstaben eingeben und dann [Tabulator] drücken. Die Shell vervollständigt in der Regel den Befehl, falls er eindeutig ist, oder zeigt eine Liste der möglichen Kommandos an. Geben Sie beispielsweise c ein und drücken zweimal auf [Tabulator], fragt die Shell nach, ob sie wirklich alle 159 Befehle, die mit "c" anfangen, präsentieren soll:

huhn@transpluto:~> c
Display all 159 possibilities? (y or n)

Drücken Sie nun y, wenn Sie die Kommandoliste sehen wollen, oder n, um die Ausgabe abzubrechen. Praktisch ist die Tab-Completion auch dann, wenn es um die Vervollständigung von Datei- und Verzeichnisnamen geht. Liegen im aktuellen Verzeichnis zum Beispiel zwei Ordner namens bilder und bin und wollen Sie ins Verzeichnis bilder wechseln, ist die Eingabe nach dem dritten Buchstaben eindeutig, und Sie können mit [Tabulator] aus bil den Namen bilder machen.

Hintergründig und vordergründig

Wenn Sie ein grafisches Programm aus der Shell heraus starten, verschwindet der Prompt und ist erst dann wieder zu sehen, wenn Sie das Programm beenden. Mit einem kleinen Trick starten Sie ein Programm so, dass Sie direkt weiterarbeiten können: Hängen Sie an den Befehl einfach ein Kaufmannsund (&) an, um das Programm im Hintergrund zu starten, zum Beispiel:

konqueror &

Haben Sie das Anhängen des Kaufmannsund-Zeichens einmal vergessen, können Sie den gerade laufenden Befehl über die Tastenkombination [Strg-Z] unterbrechen. Der Prozess stoppt, die Shell informiert über den Vorgang, und Sie sehen den Prompt wieder:

huhn@transpluto:~> konqueror
[Strg-Z]
[1]+  Stopped                 konqueror
huhn@transpluto:~>

Die Ausgabe teilt Ihnen weiterhin mit, dass der angehaltene Prozess die Nummer 1 trägt. Starten Sie ein weiteres Programm, erhält dieses die Nummer 2, usw. Mit dem Befehl

bg %1

schieben Sie nun den ersten Job in den Hintergrund (bg steht für englisch "background" = "Hintergrund"). Die Shell teilt Ihnen auch gleich mit, dass der Prozess nun im Hintergrund weiterläuft -- das erkennen Sie am &-Zeichen in der Ausgabe:

[1]+ konqueror &

Einen auf diese Weise abgelegten Job bringen Sie mit dem Befehl fg (wie englisch "foreground" = "Vordergrund") wieder nach vorne; auch diesem Kommando übergeben Sie die Job-Nummer:

huhn@transpluto:~> fg %1
konqueror

Die Shell ist nun wieder für weitere Eingaben blockiert -- alles ist so, als hätten Sie Konqueror ohne das & gestartet. Informativ gibt sich die Shell auch nach Programmende und zeigt an, wenn ein Job beendet wurde:

[1]+  Done         konqueror

Kopieren und Einfügen

Copy & Paste kennen Sie sicher aus grafischen Programmen: Mit der linken Maustaste markieren Sie etwas, speichern es in die Zwischenablage (meistens über [Strg-C]) und fügen die Daten anschließend in einer anderen oder derselben Anwendung wieder ein ([Strg-V]).

In der Shell geht's viel schneller: Markieren Sie mit der linken Maustaste einen Bereich (Doppelklick markiert ein Wort, Dreifachklick die ganze Zeile) und fügen Sie den Inhalt der Zwischenablage über Klick auf die mittlere Maustaste ein. Das Ganze funktioniert auch im Zusammenspiel mit Konqueror und einer Konsole. Haben Sie beispielsweise auf einer Web-Seite einen interessanten Befehl gelesen und wollen diesen ausprobieren, markieren Sie den Ausdruck im Browser und fügen ihn über die mittlere Maustaste hinter dem Shell-Prompt ein (Abbildung 3).

Abb. 3: Sehr flexibel: Copy & Paste zwischen Konqueror und Konsole.

Die beiden KDE-Programme kommunizieren auch auf andere Art prima miteinander: Ziehen Sie aus dem Datei-Manager eine Datei per Drop & Drag auf die KDE-Konsole, geht ein kleines Fenster auf und bietet mehrere Optionen an:

Konqueror gegen Konsole

Dass sich Aufgaben mit ein paar Shell-Befehlen oft schneller und effizienter erledigen lassen als mit grafischen Programmen, soll ein kleiner Wettbewerb zwischen Konqueror und der Konsole zeigen. Die Aufgabenstellung: Vom versteckten Ordner .kde in Ihrem Home-Verzeichnis, der mehrere Dateien und auch Unterverzeichnisse enthält, soll eine Sicherungskopie angelegt werden, welche im neu anzulegenden Ordner backup Ihres Home-Verzeichnisse landet. Im Konqueror führen Sie beispielsweise die folgenden Schritte aus:

  1. Starten Sie den Konqueror mit der Ansicht Ihres eigenen Home-Verzeichnisses, entweder über das Icon mit dem Haus in der Kontrollleiste oder über den Schnellstarter [Alt-F2], in den Sie als Befehl kfmclient openProfile filemanagement eingeben.
  2. Klicken Sie mit der rechten Maustaste auf einen freien Bereich und wählen Sie aus dem Kontextmenü Neu erstellen / Ordner.
  3. Ins Dialogfenster tragen Sie den Namen des neuen Verzeichnisses (backup) ein und bestätigen mit [Eingabe].
  4. Klicken Sie im Konqueror rechts oben auf das Zahnrad-Symbol, um ein zweites Fenster zu öffnen. Dort navigieren Sie ins neue Verzeichnis backup.
  5. Aktivieren Sie im Menü die Option Ansicht / Versteckte Dateien anzeigen, um wirkliche alle Daten zu erfassen. Ziehen Sie den Ordner .kde mit der linken Maustaste ins zweite Fenster. Im aufgehenden Dialog wählen Sie An diese Stelle kopieren. Je nachdem, wie viele Daten sich in .kde befinden, dauert der Kopiervorgang unterschiedlich lang (Abbildung 4).

Abb. 4: Per Drag & Drop kopieren Sie Daten im Konqueror -- schneller geht es auf der Shell mit dem Kommando "cp".

Dieselbe Aufgabe erledigen Sie auf der Konsole mit den folgenden drei Befehlen:

huhn@transpluto:~> cd
huhn@transpluto:~> mkdir backup
huhn@transpluto:~> cp -a .kde backup

Das erste Kommando (cd ohne weitere Argumente) wechselt ins eigene Home-Verzeichnis -- diesen Schritt können Sie sogar sparen, wenn Sie die Konsole frisch gestartet haben und bereits dort sind. Mit dem Befehl mkdir backup (wie englisch "make directory" = "erstelle Verzeichnis") legen Sie den neuen Ordner an. Schließlich kopieren Sie (cp steht für "copy") rekursiv den Ordner .kde ins neue Verzeichnis backup -- die angehängte Option -a sorgt dafür, dass die Dateieigenschaften erhalten bleiben und rekursiv (also mit dem Inhalt aller Unterverzeichnisse) kopiert wird.

Für die drei getippten Befehle benötigen Sie ungefähr fünf Sekunden -- wie lange brauchen Sie für die Mausklicks, die Namensvergabe und die Navigation? (hge)

Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.

Druckerfreundliche Version | Feedback zu dieser Seite | Datenschutz | © 2014 COMPUTEC MEDIA GmbH | Last modified: 2007-04-05 11:10

[Linux-Magazin] [LinuxUser] [Linux-Community] [Admin-Magazin] [Ubuntu User] [Smart Developer] [Linux Events] [Linux Magazine] [Ubuntu User] [Admin Magazine] [Smart Developer] [Linux Magazine Poland] [Linux Community Poland] [Linux Magazine Brasil] [Linux Magazine Spain] [Linux Technical Review]