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: Mutt: Mails an andere Empfänger weiterleiten
Eine Nachricht leiten Sie an einen anderen Benutzer weiter, indem Sie in Mutt die Taste [F] (wie engl. “to forward” = “weiterschicken, nachsenden”) drücken. Am unteren Fensterrand erscheint dann die Aufforderung To:, und Sie können die Adresse oder ein Kürzel aus dem eigenen Mutt-Adressbuch eingeben. In der Voreinstellung bindet der Client die Ursprungsmail im Mail-Body wie ein Zitat ein, und Sie können sie verändern; am oberen Rand steht ein Hinweis Forwarded message from … mit dem Namen des Absenders. Direkt darunter zeigt Mutt in vier Zeilen das Datum und die Uhrzeit, den Absender mit seiner Mailadresse, den ursprünglichen Empfänger und den Betreff (Abbildung 1). Eventuelle Anhänge unterschlägt der Textmailer bei dieser Vorgehensweise allerdings.

Abbildung 1: Weitergeleitete Mails sind in Mutt deutlich zu erkennen, denn der Client fügt entsprechende Hinweise in den Body der Nachricht ein.
Tipp: Mutt: Mails unverändert umleiten (Bounce)
Um angehängte Bilder oder Dokumente nachzusenden, können Sie die Ursprungsmail beispielsweise “bouncen”, also einen so genannten Redirect veranlassen. Dazu drücken Sie [B], und Mutt blendet am unteren Rand diese Eingabeaufforderung ein:
Nachricht weiterleiten an:
Tippen Sie wieder einen Kurznamen aus dem Adressbuch oder eine Mailadresse ein und drücken Sie [Eingabe]. Mutt schickt die Nachricht nun in unveränderter Form – also mit allen Anhängen und dem Header – auf die Reise. Der Nachteil: Eine so umgeleitete Mail können Sie vorher nicht begutachten oder vielleicht einen ergänzenden Text hinzufügen.
Tipp: Mutt: Attachments auswählen und weiterleiten
Eine andere elegante Möglichkeit, Attachments beim Forwarding zu erwischen, ist über das so genannte Tagging. Zur Erinnerung: In den Shell-Tipps 01/2011 [1] haben wir gezeigt, dass Sie Nachrichten in der Indexansicht mit der Taste [T] taggen, also markieren können, um sie gemeinsam zu beantworten, zu verschieben etc. Gleiches gilt auch für die einzelnen Bestandteile. Betrachten Sie eine Nachricht mit Anhang über die Taste [V] (wie engl. “to view” = “anschauen”), sehen Sie außer dem Body (meistens mit text/plain oder text/html gekennzeichnet) auch eine Liste der angehängten Dateien.
Wandern Sie mit den Pfeiltasten auf und ab durch die Anhänge und drücken Sie [T] vor jedem Attachment, das Sie beim Forwarding erfassen möchten. So getaggte Komponenten zeigen ein Sternchen vor der Nummer (Abbildung 2). Drücken Sie jetzt [F], geben den Namen des Adressaten ein und bestätigen alles, zeigt Mutt im Bereich Anhänge alle vorher ausgewählten Attachments an.

T einzelne oder alle Anhänge, dann leiten Sie die Nachricht über F weiter.” width=”300″ height=”191″ />
T einzelne oder alle Anhänge, dann leiten Sie die Nachricht über F weiter.Tipp: Mutt: Attachments automatisch weiterleiten
Es gibt auch eine Möglichkeit, Mutt in seiner Konfigurationsdatei so einzustellen, dass der Client Attachments beim reinen Forwarding immer erfasst. Öffnen Sie dazu die Einrichtungsdatei des Programms ~/.muttrc, die normalerweise im Home-Verzeichnis residiert, mit einem Texteditor Ihrer Wahl. Tragen Sie die beiden folgenden Zeilen ein:
set mime_forward=yes set mime_forward_rest=yes
Speichern Sie die Änderungen und starten Sie Mutt neu. Die erste Zeile sorgt dafür, dass der Client die weitergeleitete Nachricht als Attachment und nicht wie sonst im Body einbindet. Auf diese Weise sieht der Empfänger die Mail genauso, wie sie bei Ihnen angekommen ist. Die zweite Option bestimmt, dass Mutt alle Attachments der Originalmail erfasst und damit auch automatisch angehängte Dateien weiterleitet.
Möchten Sie lieber von Fall zu Fall eine Entscheidung treffen und sich nicht in der Einrichtungsdatei festlegen, dürfen Sie für die erste Optionen anstelle von yes auch ask-no bzw. ask-yes setzen. Mutt fragt dann grundsätzlich nach:
Als Anhang weiterleiten? ([nein]/ja):
Die in eckigen Klammern gelistete Antwort ist der Standard, den Sie mit [Eingabe] bestätigen: bei ask-no also “nein” und bei ask-yes “ja”.
Tipp: “netstat”: Welche Serverdienste laufen?
Das Diagnosetool netstat hilft dabei, Informationen zum Status der Netzwerkschnittstelle(n) auszugeben. Die meisten Aufrufparameter haben eine Langform, die mit zwei Bindestrichen eingeleitet wird, und eine Kurzform, die einen Bindestrich voranstellt. So zeigt --tcp (-t) nur TCP-Sockets an, --udp (-u) nur UDP-Sockets, --listening (-l) listet nur offene Ports, und --program (-p) zeigt die Prozess-ID und den Programmnamen an, dem der Socket gehört. Erweiterte Informationen erhalten Sie mit --extend (-e), und --numeric (-n) sorgt dafür, dass netstat die IP-Adressen, Portnummern und numerische Benutzer-IDs nicht zu ihren Namen auflöst, sondern die Ziffern beibehält.
Zusammengesetzt kann man sich den Befehl wirklich gut merken, denn die kombinierten Optionen ergeben -tulpen. Viele Administratoren tippen das Kommando häufig ein, um herauszufinden, auf welchen Ports der Rechner Serverdienste anbietet, die für andere Computer erreichbar sind. Da einige dieser Information dem Systemverwalter vorbehalten sind bzw. nur Angaben zu eigenen Prozessen machen, stellen Sie sudo voran und weisen sich mit dem eigenen Kennwort als Administrator aus (Abbildung 3). Die Ausgabe des Befehls sudo netstat -tulpen leiten Sie über ein Pipe-Zeichen ([AltGr]+[<]) an less weiter, um sie seitenweise zu betrachten.

Abbildung 3: Das Kommando “sudo netstat -tulpen” zeigt Ihnen an, welche Anwendungen Serverports offenhalten.
Abbildung 3 zeigt die Ausgabe auf einem frisch installierten Linux-Mint-System. Neben Samba für die Datei- und Druckerfreigabe laufen unter anderem Dnsmasq (DNS- und DHCP-Server), der Druckserver CUPS, der DHCP-Client dhclient und der Avahi-Daemon (eine Linux-Version von Zeroconf, welche die Vernetzung von Geräten in einem lokalen Netzwerk ohne manuelle Konfiguration erlaubt).
Tipp: Lesezeichen für den Midnight Commander
Wenn Sie gerne auf der Kommandozeile arbeiten, nutzen Sie vielleicht den textbasierten Dateimanager Midnight Commander. Das Tool bietet eine praktische Lesezeichenverwaltung für häufig besuchte Orte im Verzeichnisdschungel an. Die nächste Schritt-für-Schritt-Anleitung zeigt, wie Sie ein Bookmark hinzufügen:
- Wechseln Sie in den gewünschten Ordner. Drücken Sie [Strg]+[AltGr]+[ß] ([AltGr]+[ß] ergibt den Backslash \) oder wählen Sie mit der Maus aus dem Menü am oberen Fensterrand Befehl / Verzeichnis-Hotlist.
- Öffnen Sie den Menüpunkt Aktuellen hinzufügen. Sie erreichen ihn entweder über die Tabulatortaste und [Eingabe] oder über die Taste [A] bzw. einen Klick mit der Maus.
-
Es öffnet sich ein Dialog Zur Hotlist hinzufügen (Abbildung 4). Als Name eingetragen ist bereits Ihr aktueller Aufenthaltsort mit dem vollen Pfadnamen (im Beispiel /etc/apt/sources.list.d). Sie bestätigen diesen entweder mit [Eingabe] oder löschen ihn und ersetzen ihn durch etwas Kürzeres.
- Springen Sie danach mit [Tab] zur OK-Schaltfläche und drücken Sie [Eingabe]. Das neue Lesezeichen taucht nun im Hotlist-Verzeichnis auf, und Sie können den Dialog mit [F10] schließen.
Um das Lesezeichen künftig zum schnellen Ortswechsel zu nutzen, öffnen Sie wieder die Verzeichnis-Hotlist über [Strg]+[AltGr]+[ß]. Suchen Sie aus der Bookmarkliste den Namen aus und drücken Sie [Eingabe], dann wechselt der Midnight Commander in den Ordner. Im selben Dialog finden Sie auch Optionen, mit denen Sie nicht mehr benötigte Bookmarks löschen können.
Tipp: Midnight Commander: Lesezeichen gruppieren
Je mehr Lesezeichen Sie für den Dateimanager anlegen, desto unübersichtlicher wird der Verwaltungsdialog Verzeichnis-Hotlist. Das haben sich die Entwickler sicher auch gedacht und praktischerweise ein Feature implementiert, das Bookmarks in Gruppen zusammenfasst. Sogar weitere Unterabteilungen sind in diesen möglich, so dass Sie ganz nach Herzenslust Ihre bevorzugte Struktur erzeugen können. Um eine neue Gruppe zu erstellen, drücken Sie die Taste [G] oder navigieren mit [Tab] bis zum Eintrag Neue Gruppe und drücken [Eingabe]. Tippen Sie den Namen ein und bestätigen Sie wiederum mit der Eingabetaste. In der Übersicht können Sie Gruppen von normalen Lesezeichen unterscheiden, weil die Sammlungen einen kleinen Pfeil (->) vor dem Namen tragen.
Tipp: Terminal und Konsole aufräumen
Haben Sie ein Terminalfenster größer oder kleiner gezogen, oder haben Programme darin ihre Spuren hinterlassen, können Sie schnell Ordnung schaffen. Geben Sie einfach am Prompt clear ein, gefolgt von [Eingabe]. Das Ganze können Sie sogar noch abkürzen, indem Sie [Strg]+[L] drücken. Das Fenster ist danach blank geputzt und der gesamte Bildschirminhalt gelöscht. Nutzen Sie eine Terminalanwendung wie das gnome-terminal oder KDEs Konsole, können Sie mit dem Scrollbalken am Fensterrand oder mit [Umschalt]+[Bild auf] den Bildschirminhalt verschieben und sehen die vorherigen Ein- und Ausgaben.
Anders sieht das aus, wenn Sie anstelle von clear den Befehl reset eingeben. Danach ist das Terminal wirklich komplett wie neu, und auch beim Hochblättern sind keine Spuren vergangener Kommandos und Ausgaben mehr zu sehen. Übrigens: reset können Sie auch verwenden, um ein Terminalfenster neu zu initialisieren und die Zeichensatz-Zuordnung wiederherzustellen, z. B. wenn die Ausgabe von Sonderzeichen Chaos verursacht hat. Einen solchen Zeichensalat erhalten Sie z. B., wenn Sie versehentlich eine Binärdatei ins Terminal umgeleitet haben.
Alle Kommandos und das Tastenkürzel [Strg]+[L] funktionieren übrigens genauso, wenn Sie auf einer der virtuellen Konsolen (Tastenkombination [Strg]+[Alt]+[F1],[Strg]+[Alt]+[F2] usw.) arbeiten oder per SSH auf einem entfernten Rechner eingeloggt sind.
Tipp: “grep”: Dateitypen von der Suche ausschließen
Der Befehl grep durchsucht Textdateien nach Suchmustern, die Sie vorgeben [3]. Gerade wenn Sie mit der Option -r rekursiv große Verzeichnishierarchien durchforsten, ist es nützlich, bestimmte Dateitypen auszunehmen. Lassen Sie die praktische Spürnase z. B. auf einen Ordner Dokumente los, der in etlichen weiteren Ordnern neben .pdf– und .doc-Dateien LaTeX-Files mit der Endung .tex enthält. Sie wollen diese nun von der Suche ausschließen. Dazu verwenden Sie den grep-Parameter --exclude und geben hinter einem Gleichheitszeichen ein Suchmuster an:
grep --exclude=*.tex -r Heike ~/Dokumente
Das Sternchen steht für ein beliebiges Zeichen. Es sind also alle Dateien gemeint, die auf .tex enden. Hinter -r, was der Befehl für die rekursive Suche ist, steht die Zeichenkette, nach der Sie suchen (im Beispiel Heike). Als Letztes folgt der Ort, hier der Ordner Dokumente im Home-Verzeichnis.
Infos
[1] Tagging in Mutt: Heike Jurzik, “Shell-Tipps”, EasyLinux 01/2011, S. 102 ff., http://linux-community.de/22367
[2] Midnight-Commander-Artikel: Andreas Kneib, “Midnight Commander”, LinuxUser 07/2002, S. 58 ff., https://www.linux-community.de/2410
[3] Artikel zu grep: Elisabeth Bauer, “Textfischer”, EasyLinux 10/2003, S. 74 ff., http://www.easylinux.de/2003/10/074-grep/

