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

Know-how für die Kommandozeile

Shell-Tipps

von Andrea Müller


Wer glaubt, die Arbeit mit der Kommandozeile sei kompliziert und schwer zu erlernen, irrt. Diesen Monat verraten wir praktische Tastenkürzel für "vim" und zeigen, wie Sie mit "du" Platzfresser aufspüren.

Einfügemodus mal anders

Wenn Sie gelegentlich mit dem Text-Editor "vim" arbeiten, werden Sie vermutlich meistens mit einem Druck auf [I] in den Einfügemodus wechseln. Am unteren Fensterrand erscheint dann das Wort Einfügen und der Cursor befindet sich an der Position, an der er stand, als Sie den Einfügemodus aktiviert haben.

Das ist manchmal lästig, wenn Sie direkt drauflos schreiben wollen, der Cursor aber auf dem letzten Buchstaben des Textes steht. Verwenden Sie in diesen Fällen [A] oder [O], um in den Einfügemodus zu gelangen. Bei einem Druck auf [A] bewegt vim den Cursor automatisch ein Zeichen nach rechts. [O] ist noch praktischer, da der Editor dabei eine neue Zeile unter der aktuellen einfügt und den Cursor dorthin bewegt.

Haben Sie den gewünschten Text geschrieben, verlassen Sie den Einfügemodus wie gewohnt mit [Esc] und speichern die Datei über den Befehl :wq.

Zeilenenden in "vim"

Erstellen Sie mit "vim" unter Linux eine Textdatei, die Sie danach auch unter Windows bearbeiten wollen, erleben Sie eventuell eine böse Überraschung: Notepad, die Standardanwendung für Textdateien unter Windows, zeigt unter Linux erstellte Dateien nicht richtig an. Der gesamte Text erscheint in einer einzigen langen Zeile und da, wo eigentlich ein Zeilenumbruch stehen müsste, sehen Sie nur viereckige Kästchen (Abbildung 1).

Das kommt daher, dass Dos und Linux mit unterschiedlichen Zeilenumbrüchen arbeiten. Unter Linux markiert LF (Line Feed oder Zeilenvorschub in Anlehnung an die Zeiten der Schreibmaschine) einen Umbruch. Windows erwartet dagegen zusätzlich noch ein CR (Carriage Return, Wagenrücklauf), also CRLF. Die meisten Windows-Text-Editoren kommen auch mit den Linux-Zeilenumbrüchen zurecht, nicht jedoch Notepad.

Sie umgehen das Problem am einfachsten, indem Sie solche Dateien unter Windows mit einem anderen Programm, etwa Wordpad, bearbeiten. Alternativ können Sie vim anweisen, eine Textdatei mit Windows-Zeilenumbrüchen abzuspeichern. Verlassen Sie dazu mit [Esc] den Einfügemodus und geben Sie den Befehl :se ff=dos ein. ff ist die Abkürzung für file format (Dateiformat). Dass alles geklappt hat, sehen Sie, sobald Sie die Datei mit :w speichern. Bei Textdateien mit Windows-Zeilenumbrüchen schreibt der Text-Editor [dos] in die Statuszeile am unteren Fensterrand.

Den Befehl :se ff=dos müssen Sie nur einmal eingeben. Wenn Sie die Datei später bearbeiten, speichert vim sie automatisch mit Windows-Zeilenumbrüchen ab. Zurück zum Unix-Format geht es übrigens genauso schnell: Geben Sie dazu :se ff=unix ein.

Abb. 1: Der Windows-eigene Editor Notepad kommt mit den Zeilenenden von Linux nicht zurecht.

Wörter in "vim" löschen

Der Text-Editor "vim" bietet im Befehlsmodus praktische Funktionen, die das Bearbeiten eines Textes erleichtern: So löschen Sie mit dd die Zeile, in der sich der Cursor befindet. Das aktuelle Wort entfernen Sie mit dw. Beachten Sie, dass sich der Cursor dabei auf dem ersten Buchstaben des Löschkandidaten befinden muss, da "vim" bei dem Befehl dw von der aktuellen Cursorposition bis zum Ende des Worts löscht. Satzzeichen und Leerstellen interpretiert das Programm als Begrenzer. Befindet sich der Cursor an dem S von Satzende., bewirkt die Eingabe von dw, dass nur das Wort Satzende verschwindet -- den Punkt löscht "vim" nicht.

Um mehrere Wörter zu löschen, stellen Sie dem Befehl dw einfach eine Zahl voran. Geben Sie also im oben genannten Beispiel 2dw ein, um nicht nur das Wort Satzende, sondern zusätzlich den Punkt dahinter zu löschen. Der Trick mit der vorangestellten Zahl funktioniert auch bei anderen Kommandos. So entfernen Sie mit der Eingabe von 3dd die aktuelle und die zwei folgenden Zeilen aus einem Text. Haben Sie einmal zu viele Zeilen oder Wörter gelöscht, drücken Sie [U], um die Aktion rückgängig zu machen.

Welchen Textbearbeitungsbefehl Sie eingeben, zeigt "vim" in der Mitte der Statuszeile am unteren Fensterrand an. Merken Sie während der Eingabe eines Befehls, dass Sie sich vertippt haben, brechen Sie die Aktion mit [Esc] ab.

Befehle in "vim" wiederholen

Dass Sie in "vim" leicht mehrere Wörter löschen können, ist zwar praktisch, doch oft sieht man nicht auf einen Blick, wie viele man entfernen will. In diesem Fall ist es oft einfacher, mit dw nur ein Wort zu löschen und danach so oft . (den Punkt) zu drücken bis alle anderen gewünschten Wörter verschwunden sind.

Der Punkt dient in "vim" zum Wiederholen eines Befehls. Sie können damit auch andere Textbearbeitungskommandos wie dd zum Löschen einer Zeile beliebig oft wiederholen.

Platzverbrauch eines Ordners anzeigen

Möchten Sie wissen, wie viel Platz ein Ordner mitsamt seinen Unterverzeichnissen auf der Festplatte belegt, erfahren Sie das mit dem Kommando du. Wechseln Sie zunächst mit

cd /pfad/zum/verzeichnis

in den Ordner, dessen Füllstand Sie messen wollen. Geben Sie dort du ein und schon listet das Programm alle Unterordner auf. Davor steht (in Byte), wie viel Platz die Dateien in den Verzeichnissen belegen. Am Ende der Ausgabe präsentiert das Programm die Summe daraus. Da die Ausgabe in Byte nicht besonders gut lesbar ist, bietet es sich an, den Parameter -h zu verwenden. er steht für human readable (von Menschen lesbar) und rechnet die Größe in KByte, MByte oder GByte um (Abbildung 2). Können Sie auf die Auflistung aller Unterordner verzichten, erreichen Sie das mit dem Parameter -s (für silent=still). Der Befehl

du -sh

zeigt nur die summierten Dateigrößen in lesbarer Form an und verzichtet darauf, alle Unterordner einzeln aufzulisten.

Abb. 2: Mit dem Parameter "-h" aufgerufen gestalten Sie die Ausgabe von "du" lesbarer.

Platzfresser mit "du" aufspüren

So praktisch die beiden im vorigen Tipp vorgestellten Parameter -h und -s auch sind, sie eignen sich nicht dafür, Platzfresser auf der Festplatte aufzuspüren. Müssen Sie einige Dateien löschen, weil Ihr Home-Verzeichnis aus allen Nähten platzt, erfahren Sie mit einer Kombination von du und sort, welche Ordner den meisten Platz belegen.

Geben Sie dazu

du | sort -n

ein. Zuerst listet du bei diesem Befehl die Unterverzeichnisse des aktuellen Ordners mitsamt ihrer Größe auf. Diese Liste leitet das Pipe-Zeichen (|) [1] an den Befehl sort -n weiter. Wie dessen Name schon andeutet, dient das Tool zum Sortieren. Der Parameter -n weist es an, dabei numerisch und nicht alphabetisch vorzugehen. So sehen Sie in der Ausgabe der Befehlskombination die Verzeichnisse, die den meisten Platz verschlingen, am Ende der Liste (Abbildung 3).

Abb. 3: Mit einer Kombination der Befehle "du" und sort" finden Sie die Ordner, deren Datein am meisten Platz benötigen. Bei diesem Beispiel wäre es an der Zeit, im Verzeichnis "test" gründlich aufzuräumen.

Stichwortsuche in Manpages

Die meisten Kommandozeilenprogramme bringen ihre Dokumentation in Form so genannter Manpages mit. Der Befehl man programmname zeigt die (englischsprachige) Handbuchseite eines Befehls an. Dort finden Sie neben einer Beschreibung des Programms auch eine Liste aller Aufrufparameter und manchmal sogar Verweise auf thematisch verwandte Manpages.

Der Nachteil dabei ist, dass man als Linux-Neuling die Namen der meisten Konsolenbefehle nicht kennt. Auch in einem solchen Fall kommen Sie -- Englischkenntnisse vorausgesetzt -- weiter: Der Befehl man kennt den Aufrufparameter -k, mit dessen Hilfe Sie die Kurzbeschreibungen aller installierten Handbuchseiten nach einem Suchbegriff durchforsten.

Um beispielsweise zu erfahren, zu welche Archivierungs- und Packprogrammen (siehe auch das Guru-Training ab Seite 88 dieser Ausgabe) es eine Manpage gibt, verwenden Sie den Befehl

man -k archiv

Er listet alle Handbuchseiten auf, deren Kurzbeschreibung den Suchbegriff archiv enthält. (amü)

Abb. 4: Mit dem Parameter "-k" gefolgt von einem Suchbegriff durchsuchen Sie die Handbuchseiten nach einem Stichwort.
Infos
[1] Artikel zu Umleitungs-Operatoren in der Shell: Heike Jurzik, "Genial gelenkig", EasyLinux 09/2005, S. 84 ff., http://www.easylinux.de/2005/09/084-umleitungen/

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 | © 2012 Linux New Media AG | Last modified: 2007-04-05 11:24

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