Erfahrene Linux-Nutzer schwören auf flexible Kommandozeilentools, mit denen sie manche Aufgabe schneller bewältigen als in grafischen Programmen. Wir stellen interessante Anwendungen und Aufrufparameter vor, um auch Einsteiger zu einem Ausflug in die Shell zu ermutigen.
Tipp: Vim: Syntax-Highlighting einschalten
Der Texteditor Vim kennt die Syntax vieler Programmiersprachen und Konfigurationsdateien; er hebt auf Wunsch Schlüsselwörter farbig hervor. Das erleichtert das Bearbeiten von komplexen und langen Dateien, weil sie einerseits besser lesbar sind (Abbildung 1) und andererseits Tippfehler auffallen – haben Sie ein reserviertes Wort aus der Sprache falsch geschrieben, passt die Farbe im Editor nicht mehr.
Um das Syntax-Highlighting im laufenden Betrieb einzuschalten, wechseln Sie zunächst mit [Esc] in den Befehlsmodus. Danach geben Sie diesen Befehl ein:
:syntax on
und bestätigen mit der Eingabetaste. (Beachten Sie, dass der Befehl mit einem Doppelpunkt beginnt.) Anschließend ist die Ausgabe bunt. Gefällt Ihnen der Farbzauber nicht, werden Sie ihn mit
:syntax off
wieder los. Möchten Sie das Highlighting permanent einschalten, ist die Vim-Konfigurationsdatei im eigenen Home-Verzeichnis (~/.vimrc) der richtige Ort. Fügen Sie in eine eigene Zeile ohne den führenden Doppelpunkt syntax on ein – fertig.

Abbildung 1: Einmal ohne Syntax-Highlighting, einmal mit – durch das Einfärben von Schlüsselwörtern werden auch Konfigurationsdateien (hier “/etc/apt/sources.list” unter Ubuntu 16.04) besser lesbar.
Tipp: Vim: Weitere Farbzaubereien (Hintergrund, Themes)
Das Syntax-Highlighting haben Sie eingeschaltet, aber so richtig zufrieden sind Sie mit dem Look nicht? Eventuell ist der Terminal-Hintergrund zu hell, und Sie können bestimmte eingefärbte Begriffe nicht gut erkennen? Kein Problem – wechseln Sie wieder mit [Esc] in den Befehlsmodus und teilen Sie Vim mit, dass der Hintergrund hell ist:
:set background=light
Das funktioniert auch in die Gegenrichtung. Ersetzen Sie im letzten Befehl das light durch dark, um dem Editor zu sagen, dass der Hintergrund dunkel ist. Auch diese Vorgabe können Sie in die Konfigurationsdatei ~/.vimrc schreiben, um sie dauerhaft zu machen.
Es gibt außerdem fertige Farb-Themes, mit denen Sie experimentieren können. Geben Sie dazu :colo (die Kurzform von :colorscheme) ein, dann ein Leerzeichen. Drücken Sie nun [Tab], erscheint der erste Vorschlag (blue). Über weitere Drücke auf [Tab] wechseln Sie zunächst zu darkblue und dann zu den weiteren verfügbaren Farb-Themes – je nach Distribution und Vim-Version sind um die 20 verschiedenen Looks dabei. Probieren Sie einfach aus, was Ihnen am besten gefällt; zurück zum Standard geht’s mit :colo default.
Auch das Farbschema können Sie dauerhaft einrichten, indem Sie es in die Vim-Konfigurationsdatei ~/.vimrc eintragen. Schreiben Sie die Anweisung in eine eigene Zeile (ohne Doppelpunkt), z. B. so:
colo darkblue
Tipp: “ls -v”: Natürliche Reihenfolge anzeigen
Sie haben in einem Verzeichnis viele Dateien liegen, die Nummern im Dateinamen haben, z. B. 1.ogg, 10.ogg, 22.ogg, 101.ogg usw. Wenn Sie diese mit ls -la (l = langes Format, a = alle Dateien, auch die “versteckten”) auflisten, sieht das beispielsweise so aus:
$ ls -la [...] Jun 16 18:30 101.ogg [...] Jun 16 18:19 10.ogg [...] Jun 16 18:19 1.ogg [...] Jun 16 18:21 22.ogg [...]
Um die Dateien in der natürlichen Reihenfolge aufzulisten (1 steht vor 10, erst dann kommt 22 und zum Schluss 101), können Sie den Parameter -v verwenden (Abbildung 2). Die Option -r kehrt die Reihenfolge um: ls -lrv zeigt für unser Beispiel zuerst 303.ogg und ganz am Schluss 1.ogg.

Abbildung 2: “ls -v” listet die Dateien in natürlicher Reihenfolge auf und sortiert die Zahlen richtig.
Tipp: Schneller antworten mit dem Mailprogramm Mutt
Wenn Sie mit dem textbasierten Mailclient mutt auf eine Nachricht antworten, bittet das Programm Sie in der Voreinstellung darum, den Empfänger und den Betreff der Nachricht zu bestätigen: Mit einem Druck auf [Eingabe] übernehmen Sie die beiden Werte. Außerdem hakt das Programm nach, ob Sie die Nachricht in der Antwort zitieren möchten. Passen diese Vorgabewerte, und Sie möchten die ewigen Nachfragen umgehen, können Sie das mit zwei Einträgen in der Konfigurationsdatei einrichten.
Öffnen Sie dazu die Datei ~/.muttrc in einem Texteditor Ihrer Wahl und tragen Sie die folgenden beiden Zeilen ein:
set fast_reply=yes set include=yes
Speichern Sie die Änderungen und starten Sie Mutt neu. Wenn Sie das nächste Mal [R] drücken, um eine Mail zu beantworten, entfallen diese Fragen. Praktisch: Bevor eine Mail auf die Reise geht, können Sie alle Felder noch einmal bearbeiten:
- [Strg]+[F] verändert das From-Feld (also den Absender),
- [T] das To-Feld (den Empfänger) und
- [S] das Subject (den Betreff).
Tipp: (IMAP-)Zwischenspeicher für Mutt anlegen
Gehören Sie zu den Nutzern, die ihre gesamte Post in der Inbox aufbewahren und von dort aus per Hand in andere Ordner einsortieren? Wachsen die IMAP-Folder bei Ihnen stetig, und Mutt braucht bei jedem Wechsel eine gefühlte Ewigkeit? Dann zeigt dieser Tipp, wie Sie dem Client mit einem Zwischenspeicher, einem so genannten Cache, Beine machen.
Sie können Mutt anweisen, die Mailheader und auch die Nachrichten selbst lokal abzulegen. Der Mailclient muss dann beim Start (für die Inbox) oder beim Wechsel in einen anderen Folder lediglich die Inhalte des IMAP-Servers mit dem lokalen Cache vergleichen. Sie können den Zwischenspeicher als einfache Datei oder als Verzeichnis einrichten. Die folgende Anleitung zeigt, wie Sie als Aufbewahrungsort einen versteckten Ordner in Ihrem Home-Verzeichnis einrichten:
-
Öffnen Sie ein Terminalfenster und erzeugen Sie ein neues Verzeichnis namens cache im versteckten Verzeichnis .mutt:
mkdir -p ~/.mutt/cache
- Als Nächstes öffnen Sie die Mutt-Konfigurationsdatei ~/.muttrc in einem Texteditor Ihrer Wahl.
-
Für das Header-Caching tragen Sie die folgende Zeile ein:
set header_cache = "~/.mutt/cache"
-
Definieren Sie nun denselben Ordner für den Nachrichten-Cache:
set message_cachedir = "~/.mutt/cache"
- Speichern Sie die Änderungen und starten Sie Mutt neu.
Beim ersten Mal werden Sie noch keine Beschleunigung feststellen, denn der Mailclient muss den Cache erst anlegen. Spätestens beim nächsten Folder-Wechsel und zurück sollte es aber deutlich flotter gehen. Zusätzlich zur Wartezeit reduzieren Sie übrigens die Last auf dem IMAP-Server – dessen Administrator wird es Ihnen danken.
Tipp: Fehlermeldungen auf der Shell umleiten
Sie möchten mit dem Befehl find alle PDF-Dateien im System aufspüren, erhalten für bestimmte Verzeichnisse Fehlermeldungen auf der Shell und möchten diese gerne gar nicht erst sehen (Abbildung 3)? Bei manchen Kommandos ist das keine gute Idee, weil die Fehler Aufschluss über eine falsche Bedienung geben. Bei anderen, wie in Abbildung 3, kann es aber sinnvoll sein – der gezeigte find-Befehl schaut systemweit in jeden Ordner hinein, ob es dort eine Datei gibt, die auf .pdf endet. Die Fehlermeldungen tauchen für solche Verzeichnisse auf, die Ihr Benutzeraccount nicht lesen darf, und eventuell dort abgelegte PDF-Dateien könnten Sie somit sowieso nicht öffnen.

Abbildung 3: Diese Fehlermeldungen interessieren nicht: “find” weist auf Verzeichnisse hin, für die Sie keine Leseberechtigung haben.
Um Fehler abzufangen, nutzen Sie ein praktisches Konzept der Shell: Die Bash kann die Ausgabe eines Befehls umleiten. Ein älterer Artikel aus dem Jahr 2007 [1] erklärt das Konzept. Es gibt insgesamt drei Kanäle für die Ein- und Ausgabe von Befehlen auf der Shell:
- Standardeingabe (STDIN, Kanal 0): Programme lesen ihre Daten von der Standardeingabe oder aus einer Datei.
- Standardausgabe (STDOUT, Kanal 1): Programme schreiben ihre Ausgaben auf die Konsole bzw. ins Terminalfenster.
- Standardfehlerausgabe (STDERR, Kanal 2): Auch die Fehlermeldungen landen in der Konsole oder im Terminal.
Mit so genannten Umleitungsoperatoren können Sie für diese Kanäle die Vorgabe (das Terminalfenster) in Dateien umleiten, z. B. so:
befehl < eingabe > ausgabe 2> fehler
Die Größer- und Kleinerzeichen erlauben Rückschlüsse auf die Richtung. Wenn die Standardeingabe nicht über die Tastatur erfolgen soll, sorgt < dafür sorgen, dass die Bash etwas aus einer dahinter genannten Datei einliest. Um die Ausgabe eines Programms umzuleiten, verwenden Sie das Größerzeichen >, und die Fehlermeldungen erwischen Sie auf ähnliche Weise – allerdings geben Sie hier den Kanal (STDERR, Kanal 2) vor. Im letzten Listing landen also alle Fehlermeldungen in einer Datei namens fehler.
Diese können Sie aber nicht nur speichern, sondern auch direkt verwerfen. Geben Sie anstelle eines Dateinamens einfach das Nulldevice/dev/null an, um die Fehler von der Standardausgabe zu tilgen:
befehl 2> /dev/null
Tipp: ISO-8859-1(5)-Dateien in UTF-8 umwandeln
Bevor die meisten Linux-Distributionen zur UTF-8-Kodierung gewechselt sind, gab es ein ziemliches Durcheinander von Zeichensätzen. Wer schon eine Weile den Pinguin auf dem Rechner beherbergt und noch Dateien aus der Zeit hat, dürfte diese vor allem in der Kodierung ISO 8859-1 (auch Latin-1 genannt) oder ISO 8859-15 vorfinden (Latin-9). Der Versuch, solche Dateien in einem Texteditor wie Nano [2] zu öffnen, produziert kaputte Umlaute (Abbildung 4). Zwar könnten Sie die Datei im Texteditor reparieren, indem Sie die falsch angezeigten Sonderzeichen (u. a. ÄÖÜäöüß) ersetzen – viel schneller geht’s jedoch mit dem Programm iconv, das auf allen von EasyLinux unterstützten Distributionen in der Voreinstellung installiert ist.

Abbildung 4: Zeichensatzchaos: Ältere Dateien leiden auf neuen Distributionen oft an defekten Umlauten.
Dazu geben Sie hinter dem Befehl iconv zuerst den Parameter -f (from) und den Zeichensatz an, in dem die Datei vorliegt. Am schnellsten finden Sie das mit dem file-Kommando heraus:
$ file -i ubuntu04_2008.txt ubuntu04_2008.txt: text/plain; charset=iso-8859-1
Der Parameter -i sorgt für die korrekte und vollständige Bezeichnung des Zeichensatzes (hier iso-8859-1). Außer dem Format für die Eingabe definieren Sie das Zielformat (UTF-8) hinter dem Schalter -t (to). Es folgen der Name der Datei, der Umleitungsoperator > (siehe den vorherigen Tipp) und der Name der neuen Datei:
$ iconv -f iso-8859-1 -t utf-8 ubuntu04_2008.txt > ubuntu04_2008_neu.txt $ file -i ubuntu04_2008_neu.txt ubuntu04_2008_neu.txt: text/plain; charset=utf-8
iconv unterscheidet nicht zwischen Groß- und Kleinschreibung bei der Angabe der Kodierung; Sie könnten also auch ISO-8859-1 oder UTF-8 im Aufruf schreiben. Wenn Sie sich für eine vollständige Liste aller unterstützten Formate interessieren, rufen Sie das Programm mit der Option -l auf und leiten die Ausgabe am besten an less weiter, um sie seitenweise zu betrachten: Die Liste, die Sie über
iconv -l | less
erhalten, ist über 1000 Zeilen lang.
Glossar
-
Nulldevice
-
Die virtuelle Gerätedatei /dev/null finden Sie auf allen Unix-artigen Betriebssystemen, also auch unter Linux. Alles, was dahin geschrieben wird, verwirft Linux sofort.
Infos
[1] Artikel zur Ein-/Ausgabe-Umleitung: Heike Jurzik, “Datenbaustelle”, EasyLinux 01/2007, S. 128 ff., http://www.easylinux.de/2007/01/128-guru-umleitung/
[2] Artikel zu Texteditoren für die Kommandozeile: Heike Jurzik, Hans-Georg Eßer, “Editoren ohne GUI”, EasyLinux 01/2014, S. 112 ff., https://www.linux-community.de/31731
