![]() |
|
||||||||||||||||||||
|
|||||||||||||||||||||
|
|||||||||||||||||||||
Know-how für die Kommandozeile
von Andrea Müller
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.
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.
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.
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.
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.
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).
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ü)
| 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]