Erfahrene Linux-Nutzer schwören auf flexible Kommandozeilentools, die manche Aufgabe schneller bewältigen als entsprechende grafische Programme. Wir stellen die wichtigsten Anwendungen vor, um auch Einsteiger zu einem Ausflug in die Shell zu ermutigen.
Tipp: Tastaturbelegung von MP3blaster anpassen
Der schlanke Konsolenplayer MP3blaster spielt neben MP3-Dateien auch Tracks in den Formaten Ogg-Vorbis (.ogg) und .wav ab [1]. Das Programm hat in der Voreinstellung eine Tastaturbelegung, die allerdings eher zum Arbeiten auf den virtuellen Konsolen und nicht in Terminalanwendungen unter KDE, Gnome & Co. geeignet ist. Im oberen Bereich des Programmfensters sehen Sie die verfügbaren Tastatur-Shortcuts. Standardmäßig drücken Sie beispielsweise [F1], um den Dateiauswahldialog zu öffnen, und [F3], um eine fertige Playlist zu laden. Da die Funktionstasten meist von den Desktopumgebungen selbst belegt sind, bietet es sich an, MP3blaster neue Tastaturkommandos zuzuweisen. So gehen Sie vor:
- Suchen Sie nach einer Datei namens sample.mp3blasterrc. Bei den meisten Distributionen liegt diese unterhalb von /usr/share/doc/mp3blaster oder /usr/share/doc/packages/mp3blaster. Einige Distributionen bieten diese Beispielkonfiguration gzip-komprimiert (zusätzliche Endung .gz) an.
-
Kopieren Sie die Datei in Ihr Home-Verzeichnis. Wenn diese, wie im vorigen Schritt erwähnt, gepackt ist, entpacken Sie die Datei über das folgende Kommando:
gunzip sample.mp3blasterrc.gz
Dadurch verschwindet das Extrakürzel .gz aus dem Dateinamen.
-
Anschließend benennen Sie die Datei um:
mv sample.mp3blasterrc ~/.mp3blasterrc
- Öffnen Sie die Datei ~/.mp3blasterrc nun in Ihrem Lieblings-Texteditor und blättern Sie bis zur Zeile ##Set keybindings. Nach einer kurzen Erklärung, welche Tasten erlaubt sind, steht hier der Hinweis: The default keybindings make perfect sense if you are using a text console. If you run mp3blaster in X, you might want to uncomment the following keybindings. (Die Standard-Tastaturbelegung ist sinnvoll, wenn Sie in einer virtuellen Konsole arbeiten. Wenn Sie MP3blaster unter X verwenden, sollten Sie die folgenden Belegungen auskommentieren.)
-
Entfernen Sie wie vorgeschlagen nun jeweils das Rautezeichen (#) vor den Zeilen, die mit Key. beginnen, und speichern Sie die Änderungen (Abbildung 1). Nach dem nächsten Neustart von MP3blaster erscheinen am oberen Fensterrand die neuen Shortcuts. Diese sollten sich nun nicht mehr mit den Funktionstasten der Desktopumgebung ins Gehege kommen.
Tipp: Zufällige Passwörter mit “pwgen” erstellen
Das Tool pwgen erzeugt zufällige Kennwörter, die man sich leicht merken kann (da sie aussprechbar sind) und die sehr sicher sind. Geben Sie einfach nur pwgen am Shell-Prompt ein, gibt das Tool 20 Zeilen à acht Spalten mit Kennwörtern aus.
Mit verschiedenen Aufrufoptionen beeinflussen Sie das Verhalten von pwgen:
-0: Verwendet keine Ziffern in den Kennwörtern.-A: Verwendet keine Großbuchstaben.-B: Schließt Zeichen aus, die sich ähnlich sehen; dazu gehören beispielsweise l und 1 oder O (Ziffer) und 0 (wie in Otto).-N 1: Erzeugt nur ein Passwort.-s: Legt keinen Wert mehr darauf, dass der Anwender die Passwörter aussprechen kann, was sie noch sicherer macht.-v: Benutzt keine Vokale in den Kennwörtern.-y,-n,-c: Verwendet mindestens ein Sonderzeichen, eine Ziffer oder einen Großbuchstaben.
Tipp: “ls”-Ausgabe besser sortieren
Das Programm ls listet den Inhalt von Dateien und Verzeichnissen auf. Die meisten Benutzer kennen ein paar gängige Optionen dieses Kommandos und nutzen wahrscheinlich am häufigsten -l für die lange oder -a für die ausführliche Anzeige. Auch die Kombination aus beiden Parametern ist sicher oft im Einsatz.
Eine weitere praktische Option sortiert nach dem Datum. Tippen Sie ls -lt, um die Anzeige nach Aktualität zu sortieren. Die neueste Datei taucht dabei als Erstes in der Liste auf. Wer die aktuellsten Dinge lieber am Schluss sieht, verwendet zusätzlich -r, um alles umzukehren (Listing 1)
Ausgabe von “ls -lart”
$ ls -lart […] -rw-r--r-- 1 huhn huhn 195314 2009-11-29 13:16 mp3blasterrc.png drwxr-xr-x 22 huhn huhn 4096 2009-11-29 13:16 .gimp-2.6 drwx—— 2 huhn huhn 4096 2009-11-29 13:17 .aptitude -rw——- 1 huhn huhn 32460 2009-11-29 13:47 .xsession-errors -rw-r--r-- 1 huhn huhn 0 2009-11-29 14:21 foo drwxr-xr-x 51 huhn huhn 4096 2009-11-29 14:21 .
Tipp: Liste der Shell-Befehle einblenden
Sie möchten wissen, welche Kommandos eigentlich zur Verfügung stehen? Sie erinnern sich an ein nützliches Programm, dessen Name mit “a” beginnt, wissen aber nicht mehr, wie es richtig heißt? Die so genannte Tab-Completion hilft Bash-Nutzern aus der Patsche. Drücken Sie zweimal hintereinander die Tabulatortaste am Shell-Prompt, sehen Sie eine Meldung wie die folgende:
Display all 3571 possibilities? (y or n)
Zu Deutsch: “Zeige alle 3571 Möglichkeiten an?” Wenn Sie nun [Y] als Bestätigung drücken, blendet die Bash alle ihr bekannten Kommandos ein. Keine Sorge – die Namen scrollen nicht einfach durch das Fenster, sondern die Bash zeigt die Befehle seitenweise an. Am unteren Rand erscheint der Hinweis –More, solange es noch weitere Kommandos in der Liste gibt. Drücken Sie die Leertaste, um eine Seite nach unten zu blättern, die Eingabetaste, um zeilenweise zu blättern, und [Q], um die Anzeige zu beenden.
Genauso geht’s, wenn Sie sich an den Anfangsbuchstaben erinnern. Geben Sie beispielsweise a ein und drücken zweimal [Tab], sehen Sie wieder die Frage, ob Sie alle Möglichkeiten betrachten möchten. Jetzt erscheinen in der Liste aber nur Befehle, die mit “a” beginnen.
Tipp: Liste der letzten Befehle anzeigen
In der Voreinstellung speichert die Bash je nach Distribution zwischen 500 und 1000 Kommandos, die Sie eingegeben haben. Ein Guru-Training einer älteren EasyLinux-Ausgabe verrät, wie Sie die so genannte History optimal nutzen [2]. Der Artikel erwähnt auch die Tastenkombination [Strg]+[R], mit der Sie darin nach vergangenen Befehlen suchen. Zusätzlich steht Ihnen das Kommando history zur Verfügung, das eine nummerierte Liste der Befehle ausgibt:
$ history […] 741 history 742 echo $HISTSIZE 743 history | less 744 fg 745 history
Tipp: Ausgabe des “history”-Befehls formatieren
Mit der Umgebungsvariable [3]HISTTIMEFORMAT fügen Sie einen Zeitstempel ein. Anschließend präsentiert das Kommando history zusätzlich eine genaue Angabe, wann Sie den Befehl ausgeführt haben. Geben Sie beispielsweise am Shell-Prompt das Folgende ein, wenn Sie das Datum und die Uhrzeit anzeigen möchten:
export HISTTIMEFORMAT='%d/%m/%Y %T '
Tippen Sie anschließend history, sehen Sie ganz genau, was Sie wann eingegeben haben (Abbildung 2). Die Platzhalter im export-Aufruf sind schnell erklärt: %d steht für den Tag (zweistellig), %m für den Monat (zweistellig) und %Y für die vierstellige Jahreszahl; %T repräsentiert die Zeit im 24-Stunden-Format.
Andere interessante Platzhalter sind:
%a: Name des Wochentages (Kurzform), z. B. Mon, Die%A: Name des Wochentages (Langform), z. B. Montag%b: Name des Monats (Kurzform), z. B. Nov, Dez%B: Name des Monats (Langform), z. B. November%H: Angabe der Stunde (zweistellig), z. B. 13%M: Angabe der Minuten (zweistellig), z. B. 59%R: Uhrzeit im 24-Stunden-Format mit Stunden und Minuten (ohne Sekunden wie bei%T), z. B. 12:34
Verantwortlich für die Einbindung dieses Zeitstempels zeigt sich die Bibliotheksfunktion strftime. Weitere Parameter zur Formatierung der Ausgabe und Beispiele finden Sie in der dazu gehörenden Manpage (man strftime).

Abbildung 2: Über die Variable “HISTTIMEFORMAT” richten Sie einen Zeitstempel für das “history”-Kommando ein.
Wenn Sie den Zeitstempel dauerhaft einrichten möchten, tragen Sie das export-Kommando in die Bash-Konfigurationsdatei ~/.bashrc ein. Dazu bearbeiten Sie die Datei im Texteditor Ihrer Wahl. Die Änderung gilt danach für neue Shell-Sitzungen; alternativ lesen Sie die angepasste Konfiguration in einer laufenden Bash über den Befehl source ~/.bashrc neu ein.
Tipp: Befehle von der History ausschließen
Es kann unter Umständen sinnvoll sein, bestimmte Kommandos von der Aufnahme in die Liste der letzten Befehle auszuschließen. Auch dazu setzen Sie eine Umgebungsvariable: HISTIGNORE erwartet eine Liste von Suchmustern, die jeweils durch einen Doppelpunkt voneinander getrennt sind. Um beispielsweise den Befehl ls auszuklammern, geben Sie das Folgende ein:
export HISTIGNORE="ls"
Geben Sie anschließend ls und danach history zur Kontrolle ein, taucht das Kommando nicht mehr in der Liste auf. Verwenden Sie für das ls-Kommando jedoch weitere Parameter, zeigt der anschließende Aufruf von history diese wieder an:
$ ls […] $ ls -la […] $ history […] 493 ls -la 494 history
Des Rätsels Lösung: HISTIGNORE blendet nur exakt passende Suchmuster aus. Um also auch Aufrufoptionen oder Weiterleitungen in Dateien oder an andere Kommandos auszuklammern, geben Sie die Wildcard * bei der Variablendefinition an:
export HISTIGNORE="ls*"
Alle Befehlseingaben, die nun in irgendeiner Form mit ls beginnen, tauchen nicht länger in der history-Ausgabe auf.
Um mehrere Kommandos aus der History auszuschließen, schreiben Sie diese jeweils durch einen Doppelpunkt voneinander getrennt in die Variable. Die folgende Eingabe schließt alle Befehle aus, die mit ls, history oder exit beginnen:
export HISTIGNORE="ls*:history*:exit*"
Beachten Sie, dass über HISTIGNORE ausgeklammerte Befehle auch nicht länger über [Pfeil hoch] und [Pfeil runter] zur Verfügung stehen. Sie tauchen ebenfalls nicht mehr in der eingebauten Suche über [Strg]+[R] und [Strg]+[S] auf.
Tipp: Mehr Flexibilität für “HISTIGNORE”
Der vorige Tipp zeigt, wie Sie gezielt Kommandos aus der History ausschließen. Mit einem kleinen Trick können Sie jeden beliebigen Befehl ignorieren, wenn Sie ihm ein Leerzeichen voranstellen – praktisch, wenn Sie einmal Wert auf mehr Privatsphäre legen:
export HISTIGNORE="[ \t]*"
Danach erreichen Sie wie üblich alle vergangenen Kommandos über history und die Pfeiltasten. Soll ein bestimmter Befehl dort nicht erscheinen, stellen Sie ihm einfach ein Leerzeichen voran. So erscheint die folgende Eingabe beispielsweise nicht länger in der Befehlsliste:
$ sudo reboot
(Beachten Sie das zusätzliche Leerzeichen vor dem Befehl.)
Tipp: Prozesse mit “nohup” abkoppeln
Starten Sie ein Programm in einem Terminalfenster und schließen danach das Terminal, beendet Linux auch die darin laufenden Prozesse. Mit einem kleinen Trick starten Sie Programme so, dass sie auch weiterarbeiten, wenn Sie sich ausloggen. Stellen Sie dem entsprechenden Befehl dazu einfach das Kommando nohup voran. Zusätzlich hängen Sie ans Ende das kaufmännische Und an, um den Prozess in den Hintergrund zu legen:
$ nohup <befehl> & [1] 2234 $ nohup: ignoriere Eingabe und hänge Ausgabe an "nohup.out" an
Jetzt läuft der Prozess auch dann weiter, wenn Sie die Shell durch Eingabe von exit oder [Strg]+[D] verlassen oder sich ganz von der grafischen Oberfläche abmelden. In der Datei nohup.out können Sie später nachlesen, was im Hintergrund passiert ist.
Tipp: Taschenrechner auf der Shell: “bc”
Das Programm bc ist ein schlanker und funktionaler Taschenrechner für die Konsole. Sie starten den Rechenkünstler über Eingabe des gleichnamigen Befehls. Übergeben Sie zusätzlich die beiden Parameter -l und -q, um die Standard-Mathematikbibliothek zu verwenden und die Copyright-Informationen auszublenden:
bc -ql
Anschließend können Sie sofort losrechnen. bc kennt die üblichen arithmetischen Ausdrücke (+, -, * und /) und Klammern. Das Dach (^) ist das Exponentialzeichen. Über Druck auf [Eingabe] weisen Sie das Programm an, das Ergebnis anzuzeigen:
1+2*1-5 -21+2*(1-5) -713/3 4.33333333333333333333
Wie Sie sehen, folgt bc der englischen Notation und verwendet den Punkt als Dezimaltrenner.
bc unterstützt Sie auch bei fortgeschrittenen Aufgaben: Der Rechner kennt verschiedene mathematische Funktionen, rechnet in anderen Zahlensystemen, arbeitet mit Schleifen und vieles mehr [4]. Über Eingabe von quit oder die Tastenkombination [Strg]+[D] beenden Sie den Taschenrechner.
Infos
[1] Artikel über MP3blaster: Christian Perle, “Guter Ton ohne X”, LinuxUser 03/2002, S. 67 ff., http://www.linux-user.de/ausgabe/2002/03/067-ootb/mp3blaster-3.html
[2] Tipps und Tricks zur Bash: Heike Jurzik, “Befehlsgewaltig”, EasyLinux 01/2005, S. 79 ff., http://www.easylinux.de/2005/01/079-bash/
[3] Umgebungsvariablen auf der Shell: Heike Jurzik, “Gut eingerichtet”, LinuxUser 05/2007, S. 88 ff., http://www.linux-user.de/ausgabe/2007/05/088-zubefehl/
[4] Artikel zu bc: Heike Jurzik, “Die Rechnung bitte!”, LinuxUser, 04/2004, S. 76 ff., http://www.linux-user.de/ausgabe/2004/04/076-zubefehl/


