claim.gif
Linux Magazin Linux User Easy Linux Ubuntu User International Linux Community
Erschienen in EasyLinux 08/2005   »   Ausgabe bestellen

Know-how für die Kommandozeile

Shell-Tipps

von Andrea Müller


Erfahrene Nutzer schätzen die Shell als mächtiges Werkzeug, doch auch für Linux-Novizen lohnt sich ein Ausflug auf die Kommandozeile: Unsere Tipps zu vim und dem Midnight Commander dienen dabei als Reiseführer.

Tipp: Suchen im Text-Editor "vim"

Genau wie grafische Text-Editoren bringt auch vim eine Suchfunktion mit. Befinden Sie sich bereits im Einfügemodus, den Sie über [I] erreichen, müssen Sie diesen zunächst mit einem Druck auf [Esc] verlassen. Geben Sie danach einen Schrägstrich (/) ein, der am unteren Fensterrand erscheint. Er ist das Zeichen für vim, dass nun ein Suchbegriff folgt. Tippen Sie nun die Zeichenkette, nach der Sie suchen, ein. Beim Druck auf [Eingabe] markiert vim alle Suchtreffer mit einer farbigen Hinterlegung und setzt den Cursor auf den ersten Treffer. Drücken Sie [N], um zum nächsten Suchergebnis zu springen. Sobald Sie den letzten Treffer erreicht haben und erneut [N] drücken, gelangen Sie wieder zum ersten Suchergebnis im Dokument. vim blendet dann in der Statuszeile den Text Suche erreichte das ENDE und wurde am ANFANG fortgesetzt ein.

Noch flotter gelingt die Suche, wenn Sie ein Wort finden wollen, von dem Sie schon eine Fundstelle kennen. Möchten Sie beispielsweise, dass vim nach Firefox sucht, bewegen Sie den Cursor auf dieses Wort und verlassen den Einfügemodus mit [Esc]. Drücken Sie nun [Umschalt-+], damit der Text-Editor alle Zeichenketten markiert, die dem Wort unter dem Cursor entsprechen (Abbildung 1). Auch bei der Schnellsuche bewegen Sie sich mit [N] zum jeweils nächsten Treffer.

Abb. 1: "vim" markiert Suchergebnisse farbig hinterlegt.

Tipp: Shell per Tastenkürzel schließen

Haben Sie für den Moment genug von der Kommandozeile, müssen Sie nicht zur Maus greifen, um die KDE-Konsole zu schließen: Die Eingabe von exit beendet die Shell und schließt das aktuelle Befehlsfenster. Noch schneller beenden Sie die Shell per Tastenkürzel: [Strg-D] erledigt das selbe wie exit.

Tipp: Laufende Programme unterbrechen

Wenn Sie in der Shell ein Programm starten, erhalten Sie den Prompt, also die Möglichkeit, eigene Befehle einzugeben, erst zurück, wenn die Anwendung ihre Arbeit beendet hat. Das kann, wenn Sie beispielsweise mit convert [1] ein Bild in ein anderes Format umwandeln, recht lange dauern. Stellen Sie fest, dass Sie das falsche Zielformat angegeben haben, brechen Sie den convert-Aufruf einfach ab: Drücken Sie dazu [Strg-C].

Tipp: "mc" für Mausliebhaber

Im Datei-Manager Midnight Commander, den Sie mit dem Befehl mc starten, müssen Sie sich nicht alle Shortcuts merken. Wer die Bedienung per Maus bevorzugt, kann sich auch in dem Datei-Jongleur für die Konsole durch die Menüs klicken. Die Menüpunkte sind deutschsprachig und entsprechen denen grafischer Datei-Manager. So finden Sie im Menü Datei gängige Optionen wie Kopieren und Löschen. Um diese zu nutzen, gilt es zunächst einmal, eine oder mehrere Dateien markieren. Auch dafür müssen Sie nicht zur Tastatur greifen und [Einfg] drücken: Klicken Sie die gewünschten Dateien und Ordner einfach mit der rechten Maustaste an (Abbildung 2).

Abb. 2: Mit der rechten Maustaste markieren Sie im Midnight Commander gleich mehrere Verzeichnisse.

Tipp: Zeilenweise Ausgabe bei "ls"

Mit dem Kommando ls listen Sie die Dateien und Unterordner eines Verzeichnisses auf. Bei der Ausgabe nutzt ls die gesamte Breite des Kommandozeilenfensters, schreibt also auch mehrere Dateien und Ordner nebeneinander, wenn der Platz dafür ausreicht. Mit dem Aufrufparameter -1 erzwingen Sie eine zeilenweise Ausgabe wie in Abbildung 3. Das ist beispielsweise dann praktisch, wenn Sie erfahren möchten, wie viele Dateien und Ordner in einem Verzeichnis liegen. Die Antwort gibt

ls -1 | wc -l

Mit dem Pipe-Zeichen (|) leiten Sie die Ausgabe von ls an das Tool wc (word count) weiter. Dieses zählt mit dem Parameter -l aufgerufen die Anzahl der ausgegebenen Zeilen.

Der Befehl hat jedoch einen kleinen Schönheitsfehler: Er zählt die versteckten Dateien und Verzeichnisse, deren Namen mit einem Punkt beginnen, nicht mit. Um auch diese zu berücksichtigen, benutzen Sie das Kommando

ls -1A | wc -l

Der Aufrufparameter -a steht für Almost all (fast alle) und weist ls an, auch versteckte Dateien aufzulisten. Die beiden Verzeichniseinträge . und .., die für den aktuellen und den übergeordneten Ordner stehen, übergeht ls dabei.

Abb. 3: Mit "ls -1" listen Sie den Inhalt eines Ordners zeilenweise auf.

Tipp: Schneller Verzeichniswechsel

Die Linux-Verzeichnisstruktur ist anfangs für viele Benutzer verwirrend. Wenn Sie eine KDE-Konsole starten, startet die Shell in Ihrem Home-Verzeichnis. Mit dem Befehl cd /pfad/zum/Zielverzeichnis wechseln Sie in einen anderen Ordner. Haben Sie einmal die Orientierung verloren, verrät pwd (print working directory), wo Sie sich gerade befinden. Der schnellste Weg zurück ins Home-Verzeichnis führt über die Eingabe von cd ohne Angabe eines Pfads.

Was aber, wenn Sie nun doch wieder in den vorigen Ordner wechseln wollen? Auch dafür kennt die Shell eine Abkürzung, die es Ihnen erspart, noch einmal den vollen Pfad zum Zielverzeichnis einzutippen. Geben Sie einfach

cd -

ein, um in den zuvor besuchten Ordner zu wechseln.

Tipp: Unterverzeichnisse löschen

Um kräftig aufzuräumen und alle Dateien eines Verzeichnisses zu löschen, benutzen Sie auf der Konsole den Befehl rm *. Das Sternchen ist ein Platzhalter, den die Shell automatisch durch den gesamten Inhalt des aktuellen Ordners ersetzt. Liegen in dem Verzeichnis die Dateien 1.txt und 2.txt, macht die Bash aus rm * den Befehl rm 1.txt 2.txt.

Allerdings erwischen Sie so beim Löschen nicht die Unterordner, die im aktuellen Verzeichnis liegen. Dafür benötigen Sie den Aufrufparameter -r. Der Befehl

rm -r *

entfernt nicht nur Dateien, sondern auch die Unterverzeichnisse eines Ordners.

Tipp: Hilfefunktion in "mcedit"

Alle, die sich mit dem etwas sperrigen vim als Text-Editor nicht anfreunden können, finden eventuell in mcedit [3] eine Alternative. Er gehört zum Datei-Manager Midnight Commander, lässt sich jedoch über mcedit auch unabhängig von mc starten.

Selbst Shell-Novizen kommen mit dem Text-Editor schnell zurecht, da er die Tastenkürzel für die wichtigsten Befehle in einer Zeile am unteren Fensterrand einblendet. Beherrschen Sie ein wenig Englisch, erfahren Sie in der Hilfe von mcedit noch mehr über die Bedienung des Programms.

Sie zeigen die Hilfedatei mit einem Druck auf [F1] an. Mit [Bild ab] und [Bild auf] blättern Sie im Text runter und hoch. Über [F2] gelangen Sie zur Online-Hilfe des Datei-Managers. Haben Sie genug in der Dokumentation gestöbert, kehren Sie mit [F10] zum Editor-Fenster zurück.

Abb. 4: Die Online-Hilfe von "mcedit" erreichen Sie mit einem Druck auf [F1].

Tipp: Anzeige der Gruppe unterbinden

Wenn Sie mit dem Kommando ls -l den Inhalt eines Ordners auflisten, zeigt das Programm nicht nur die Datei- und Verzeichnisnamen, sondern zusätzlich die gesetzten Rechte, den Besitzer, die Gruppe, die Größe und das Erstellungsdatum an. Interessieren Sie sich nicht für die Gruppe, der eine Datei gehört, unterdrücken Sie diesen Teil der Ausgabe mit dem Aufrufparameter -G. Der vollständige Befehl lautet ls -lG. (amü)

Mandrake-Tipp: Nachfrage beim Löschen abschalten

Wer unter Mandrake Linux rm zum Großreinemachen verwendet, erlebt eine böse Überraschung: Das Programm fragt für jede Datei nach, ob Sie diese wirklich entfernen wollen. Das liegt an einem vom Distributor definierten Alias [2]. Wenn Sie rm eingeben, ersetzt die Shell den Befehl automatisch durch rm -i. -i steht für interactive und veranlasst rm, vor dem Löschen nachzufragen. Das ist eine zusätzliche Absicherung und soll verhindern, dass Sie versehentlich eine Datei löschen. Wollen Sie jedoch mehr als nur einige wenige Dateien loswerden, ist die Abfrage nur noch lästig. Um sie zu unterdrücken, ohne gleich das systemweite Alias zu deaktivieren, gibt es drei Möglichkeiten:

  • Am schnellsten sorgen Sie mit dem Aufrufparameter -f für Ruhe: Er steht für force (erzwinge).
  • Eine andere Option besteht darin, rm mit dem vollen Pfad aufzurufen, also /bin/rm *. Indem Sie den Pfad zur Programmdatei benutzen, verhindern Sie, dass die Bash das rm-Alias verwendet.
  • Als dritte Lösung bietet es sich vor größeren Löschaktionen an, das Alias mit dem Kommando unalias rm in der aktuell laufenden Shell-Sitzung zu deaktivieren.

Infos
[1] ImageMagick-Artikel: Daniel Molkentin, "Landschaftsmaler", EasyLinux 04/2005, S. 83 ff.
[2] Alias-Artikel: Elisabeth Bauer, "Schleichwege", EasyLinux 07/2004, S. 82 f.
[3] Artikel über Text-Editoren für die Kommandozeile: Martin Loschwitz, "Zur Hilfe", EasyLinux 12/2004, S. 80 ff.

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 | © 2017 COMPUTEC MEDIA GmbH | Last modified: 2007-04-05 11:10

Nutzungsbasierte Onlinewerbung

[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]