Erfahrene Linux-Nutzer schwören auf flexible Kommandozeilentools, mit denen sich manche Aufgabe schneller bewältigen lässt als in grafischen Programmen. Wir stellen die wichtigsten Anwendungen vor, um auch Einsteiger zu einem Ausflug in die Shell zu ermutigen.
Tipp: Taschenrechner für die Shell
Das Tool bc ist ein praktischer Kommandozeilen-Taschenrechner, der in Windeseile auf die mathematischen Sprünge hilft. Sie starten das Programm im interaktiven Modus über die Eingabe von:
bc -l
(Die Option -l sorgt dafür, dass bc mit Floating-Point-Zahlen rechnet, also Nachkommastellen kennt.) Jetzt können Sie munter drauf losrechnen: Zur Verfügung stehen die üblichen Operatoren + (Addition), – (Subtraktion), * (Multiplikation) und / (Division). Beachten Sie, dass das Sie anstelle des Dezimalkommas der englischen Schreibweise folgend einen Punkt verwenden müssen. Um das Ergebnis zu sehen, drücken Sie die Eingabetaste, und bc schreibt das Resultat in die nächste Zeile.
Auch für kompliziertere Aufgaben steht bc parat: Der Shell-Rechner versteht Klammern, bringt eine Funktion zum Berechnen der Quadratwurzel mit (sqrt(), englisch: “square root”), und das ^-Zeichen kommt als Exponentialoperator zum Einsatz. Abbildung 1 zeigt ein paar einfache Rechenoperationen.
Den Shell-Taschenrechner beenden Sie durch die Eingabe von quit gefolgt von [Eingabe] oder schneller mit [Strg]+[D].
Tipp: Anzahl der Nachkommastellen für “bc” anpassen
Wenn Sie, wie im vorherigen Tipp gezeigt, bc mit der Aufrufoption -l (lädt die Mathematik-Bibliothek) starten, zeigt der Taschenrechner bei Bedarf bis zu 20 Nachkommastellen an. Noch genauer wird’s über den Befehl scale: Durch Eingabe von
scale=50
im interaktiven Modus erhöhen Sie die Genauigkeit auf insgesamt 50 Nachkommastellen.
Tipp: History und letztes Ergebnis im “bc”
Der Shell-Taschenrechner kennt genau wie die Bash eine History-Funktion: Blättern Sie mit den Pfeiltasten nach oben oder unten in dieser Ablage, um vergangene Rechenoperationen zurück auf den Schirm zu holen und zu verändern.
Ein anderes praktisches Feature ist, dass bc sich das Ergebnis der letzten Berechnung merkt. Dieses fügen Sie in folgenden Rechenaufgaben symbolisch durch den Punkt ein, zum Beispiel:
30*(5-4)+1 31.+1 32
Tipp: “bc” zusammen mit anderen Shell-Tools
Für kurze, einfache Berechnungen müssen Sie bc nicht im interaktiven Modus starten. Schneller geht’s mit dem echo-Kommando, das dazu dient, Text (oder auch den Wert einer Variablen) auszugeben:
$ echo 1/3 | bc -l .33333333333333333333 $ echo "15*(300-19)" | bc -l 4215
Im zweiten Beispiel steht der mathematische Ausdruck in Anführungszeichen, damit die Shell nicht versucht, die Klammern zu interpretieren. Auch einfache Multiplikationen wie 3*4 sollten Sie in Anführungszeichen setzen, weil die Shell sonst das Sternchen als Wildcardzeichen betrachtet und im aktuellen Verzeichnis nach Dateinamen sucht, die auf dieses Muster passen.
Tipp: Kommandos mit “script” mitschneiden
Linux bringt einen Protokollführer für die Kommandozeile mit: Das Programm script zeichnet Ihre Shell-Sitzungen auf – praktisch, wenn Sie zu einem späteren Zeitpunkt einen Blick auf längst vergangene Kommandos und deren Ausgabe werfen möchten. Sie starten den Schriftführer über das Kommando
script -a ~/sitzung1
Alles, was Sie ab jetzt tippen, und auch die Ausgaben der Befehle landen in der Datei sitzung1.script in Ihrem Home-Verzeichnis. Um das Protokollieren zu beenden, geben Sie exit ein, und script bestätigt auf der Shell:
exit Script wurde beendet, die Datei ist /home/huhn/sitzung1
Bei dem Protokoll handelt es sich um eine einfache Textdatei, die Sie mit einem Programm wie less oder more (oder natürlich einem Texteditor) betrachten.
Unter den meisten Distributionen ist für das Kommando ls die farbliche Ausgabe eingeschaltet, und viele Benutzer richten auch gerne einen bunten Shell-Prompt ein. Die dabei verwendeten Escape-Sequenzen, die für Farbe im Terminal sorgen, tauchen in der Protokolldatei als ausgeschriebene Steuerzeichen auf. Texteditoren und auch der Pager less können damit nichts anfangen und zeigen sie ausgeschrieben an – ein echter Zeichensalat. Ein möglicher Ausweg ist das Deaktivieren aller Farbausgaben; weniger umständlich ist die Verwendung von more zum Betrachten der Protokolle, denn dieser Pager stellt die Escape-Sequenzen richtig als Farben dar. Alternativ rufen Sie less mit der Option -r (englisch: “raw”) auf, dann klappt die Farbausgabe auch dort.
Tipp: Mit “script” einen “Shell-Film” drehen
Klappe und Action – script bringt einen Parameter mit, der zusätzlich zum eigentlichen Protokoll eine Datei mit Zeitstempeln (englisch “timestamps”) anlegt. Auf diese Weise erstellte Mitschnitte lassen sich später wie ein Film auf der Kommandozeile abspielen. Dazu legen Sie beim Start neben der Protokolldatei eine weitere Datei fest, in der die Zeitinformationen landen, zum Beispiel:
script -a ~/sitzung1 -t 2> ~/time1
Auch in diesem Fall beenden Sie die Aufzeichnung mit dem Aufruf exit. Als Endprodukt landen zwei Dateien in Ihrem Home-Verzeichnis: das Sitzungsprotokoll selbst (das Sie wie beschrieben betrachten können) und die zeitlichen Abfolgen, die für sich alleine gesehen keinerlei Sinn ergeben. Die hier abgelegten Informationen wertet das Tool scriptreplay aus: Sie starten den “Shell-Film” über den gleichnamigen Befehl zusammen mit den Timestamps und dem Protokoll:
scriptreplay ~/time1 ~/sitzung1
In Echtzeit läuft nun der Mitschnitt im Terminal ab – mit allen Eingaben, Vertippern und Ausgaben. Sie beenden den Film vorzeitig über [Strg]+[C].
Tipp: Drucken auf der Shell – “lp”
Die meisten grafischen Anwendungen unter Linux bieten im Datei-Menü den Punkt Drucken – über diesen Dialog stellen Sie zum Beispiel bequem ein, ob Sie das ganze Dokument oder einzelne Seiten ausgeben und wie viele Kopien Sie erstellen. Soll eine bereits vorhandene PDF- oder PostScript-Datei aufs Papier wandern, müssen Sie nicht den Umweg über einen Dokumentenbetrachter und den grafischen Druckdialog gehen. Das Kommando lp, das Bestandteil des Linux-Drucksystems CUPS ist, bietet dieselbe Funktionsvielfalt auf der Shell.
Der einfache Befehl lp datei.pdf schickt die angegebene PDF-Datei an den Standarddrucker.
Tipp: Mehrere Kopien mit “lp” drucken
In der Voreinstellung druckt lp wie zu erwarten die Datei genau einmal aus. Um mehrere Kopien auf Papier zu bannen, geben Sie die Aufrufoption -n und dahinter die Anzahl der gewünschten Kopien an. Möglich sind Ziffern zwischen 1 und 100. Um drei Exemplare einer PostScript-Datei zu drucken, schreiben Sie z. B.:
lp -n 3 datei.ps
Tipp: Informationen über die Druckaufträge
Die Druckerwarteschlange betrachten Sie mit dem Befehl lpq. Ohne weitere Parameter aufgerufen, zeigt das Programm an, welche Aufträge der Standarddrucker gerade bearbeitet:
$ lpq Kyocera ist bereit und druckt Rang Besitz Auftrag Datei(en) Gesamtgr 1st huhn 16 easy1.ps 19456 Byte active huhn 17 easy2.ps 54272 Byte …
Neben der Reihenfolge der Aufträge sehen Sie den Namen des Benutzers, der den Job gestartet hat, die Jobnummer, den/die Dateinamen sowie die Dateigröße. Was in dieser Übersicht fehlt, ist die Anzahl der Kopien. Haben Sie, wie im vorherigen Tipp gezeigt, den Drucker angewiesen, mehrere Exemplare einer Datei zu drucken, suchen Sie in dieser Ausgabe vergeblich nach der Information. Das Programm lpq bringt dazu den Parameter -l mit, der eine lange Ausgabe anzeigt und auch nicht verschweigt, wie viele Kopien der Benutzer in Auftrag gegeben hat (Abbildung 2).

Abbildung 2: Die lange Ausgabe von “lpq” zeigt ganz genau an, welcher Benutzer welche Datei(en) wie oft druckt und wann der Auftrag an der Reihe ist.
Tipp: Einen Druckjob mit “lprm” löschen
Um einen Auftrag aus der Warteschlange zu entfernen, dient das Tool lprm. Lassen Sie sich zunächst mit lpq anzeigen, welche Auftragsnummern vergeben sind. Danach rufen Sie lprm mit der Jobnummer auf, z. B. lprm 16. Wenn Sie mit Root-Rechten arbeiten, löscht lprm - sämtliche Druck-Jobs aller Benutzer.
Tipp: Einzelne Seiten mit “lp” drucken
Die Aufrufoption -P zusammen mit der Angabe, welche Seiten zu drucken sind, druckt ganz gezielt nur Teile des Dokuments. Die hinter dem Parameter folgende Liste darf entweder einzelne Seitenzahlen getrennt durch Kommata oder einen Bereich (durch einen Bindestrich definiert) enthalten. Um nur die Seiten 2 und 4 einer Datei test.pdf zu drucken, tippen Sie zum Beispiel:
lp -P 2,4 test.pdf
Sollen hingegen die Seiten 2, 4 und 10 bis 20 aufs Papier wandern, heißt der Druckbefehl lp -P 2,4,10-20 test.pdf.


