Viele belächeln das Terminal als antiquiertes Relikt aus der Computer-Steinzeit. Mit den richtigen Helfern lassen sich typische Arbeiten darin aber schneller und bequemer erledigen als auf der GUI.
Die Shell gehört zu den zentralen, aber kontroversen Bausteinen eines jeden Linux-Systems. Einsteiger klagen darüber, kryptische Kommandos in die “Eingabeaufforderung” hacken zu müssen. Fortgeschrittene Anwender möchten den Komfort und die Geschwindigkeit nicht missen, mit denen sich viele Aufgaben auf der Konsole erledigen lassen.
Mit ein paar Tricks lässt sich die Shell auf jeden Fall etwas komfortabler gestalten, auch ohne dazu auf Alternativen wie die Zsh*[1] oder Fish [2] umzusteigen. Zwar bringen die “Profi-Shells” viele nützliche Funktionen mit, die man der Bash – der gebräuchlichsten Linux-Shell – kaum beibringen kann. Mit den hier vorgestellten Tools rüsten Sie aber auch die Standard-Shell auf. Die nützlichen Helferlein klinken sich dabei so reibungslos ins System ein, dass sie kaum auffallen.
Bessere Geschichte
Die Bash speichert jedes eingegebene Kommando in der Datei ~/.bash_history. Den Verlauf können Sie sich beispielsweise mit history ausgeben lassen. Die Bash durchsucht die History zudem, sobald Sie im Terminal [Strg]+[R] drücken und dann einen Suchbegriff eingeben. Wiederholen Sie die Tastenkombination, springt die Shell zum nächsten Treffer; mit [Strg]+[Umschalt]+[R] geht es in die andere Richtung.
Die Suche hilft, alte Befehle auszugraben, sodass Sie sie nicht erneut eintippen müssen. Dabei sortiert die Suchfunktion die Treffer immer von neu nach alt. Die zuletzt eingegebenen Kommandos erscheinen beim Durchsuchen mit [Strg]+[R] also immer zuerst. Praktischer wäre es, wenn die am häufigsten gebrauchten Kommandos an erster Stelle erscheinen würden. Genau das und noch einiges mehr ermöglicht Hstr [3], die “Bash and Zsh shell history suggest box”.
Nicht alle Distributionen führen Hstr direkt in den Paketarchiven, bei Ubuntu müssen Sie beispielsweise ein PPA integrieren. Installationshinweise für zahlreiche Distros gibt der Entwickler auf der Github-Projektseite [4]. Nach dem Einrichten des Programms übertragen Sie dessen Standardkonfiguration in die Konfigurationsdatei der Bash-Shell und laden diese neu, damit die Änderungen auch ohne Neuanmeldung greifen (Listing 1).
Listing 1
$ hh --show-configuration >> ~/.bashrc $ source ~/.bashrc
Starten Sie nun mit [Strg]+[R] wieder eine Kommandosuche in der Shell, springt automatisch Hstr an: Statt nur eines Kommandos sehen Sie eine Ncurses-Oberfläche mit den am häufigsten eingegebenen Befehlen. Tippen Sie einen Suchbegriff ein, filtert Hstr die entsprechenden Treffer aus und sortiert sie entsprechend der Häufigkeit (Abbildung 1). Mit den Pfeiltasten scrollen Sie durch die Liste, ein Druck auf die Eingabetaste führt das gerade markierte Kommando aus. Per Tabulator übernehmen Sie das Kommando in die Shell, sodass Sie noch Änderungen vornehmen können.

Abbildung 1: Die “Shell history suggest box” sortiert die Bash-History nach Häufigkeit der Ausführung, nicht chronologisch.
Rutscht Ihnen mal ein Kommando mit sicherheitskritischen Daten in den Verlauf (etwa das Passwort beim Übertragen von Daten mit ftp), dann lässt sich dieser Befehl mit [Entf] ganz schnell wieder aus der Bash-History entfernen. Sehr oft benutzte Kommandos markieren Sie mit [Strg]+[F] als Favoriten und fördern sie wieder zutage, indem Sie mit [Strg]+[Umschalt]+[7] die Hstr-Sortierung ändern.
Bessere Listen
Neben cd dürfte ls so ziemlich das erste Kommando sein, das ein Einsteiger in die Shell eintippt. Schließlich will man immer wieder wissen, welche Dateien in einem Verzeichnis stecken. Später ergänzt man das einfache ls zu einem ls -alh. Das verwandelt die einfache Liste in eine komplette Übersicht samt Dateirechten, Zugehörigkeiten, Dateigrößen und mehr. Zudem gibt das Kommando auch versteckte Dateien und Verzeichnisse aus.
Farben kennt Ls auch, färbt in der Regel aber nur Verzeichnisse und Links ein. Deutlich mehr Komfort bietet die in Rust geschriebene Alternative Exa [5]. Nur wenige Distributionen führen das Programm in ihren Paketquellen, unter Arch Linux muss man noch das AUR bemühen. Der Entwickler bietet jedoch auf seiner Homepage ein Binärpaket für 64-Bit-Systeme an, das Sie einfach als exa nach /usr/local/bin/ oder ~/bin/ kopieren.
Die Ausgabe des Aufrufs exa entspricht der von ls, nur dass Exa zur Übersicht weitere Farben einstreut. Archive färbt es beispielsweise rot ein, Bilder hell- und Videos dunkelviolett, Sicherheitskopien grau und Verzeichnisse hellblau. Interessant wird es, wenn Sie weitere Optionen aktivieren (siehe Tabelle “Exa: Wichtige Optionen”), etwa mit exa -bghHlS. Auf diese Art zeigt Exa die Dateirechte mitsamt Dateigrößen, Zugehörigkeiten sowie den letzten Änderungsdaten fein sauber sortiert in einer Liste an.
|
Schalter |
Langform |
Bemerkung |
|---|---|---|
|
Anzeigeoptionen |
||
|
|
|
zeigt jede Datei / jeden Ordner in einer neuen Zeile |
|
|
|
zeigt Metadaten wie Dateirechte oder Größe an |
|
|
|
listet rekursiv die Inhalte aus Unterverzeichnissen (optional: Tiefe |
|
|
|
Anzeige in einer Baumstruktur (optional: Tiefe |
|
|
|
keine ( |
|
|
|
hebt die Anzeige der Dateigröße bei großen Dateien farblich hervor |
|
Optionen zum Filtern und Sortieren |
||
|
|
|
versteckte Dateien und Ordner anzeigen |
|
|
|
behandelt Verzeichnisse wie Dateien |
|
|
|
dreht die Sortierreihenfolge um |
|
|
|
sortiert unter anderem nach |
|
|
|
listet Verzeichnisse vor Dateien auf |
Weitere Farben helfen, den Überblick zu bewahren, etwa bei den Dateirechten. Packen Sie das Kommando als Alias alias ll='exa -bghHlS' in die ~/.bashrc, lässt sich das so konfigurierte Programm mit einem einfachen ll aufrufen (Abbildung 2).

Abbildung 2: Exa liefert als Alternative zu Ls mehr Informationen und bereitet die Ausgabe mit Farben übersichtlich auf.
Als praktisch erweist sich auch die Fähigkeit von Exa, ganze Ordnerstrukturen rekursiv in einer Baumansicht darzustellen (Abbildung 3). Dazu ergänzen Sie den Aufruf mit exa --tree beziehungsweise exa -T, bei Bedarf mit mehr Informationen und mit nur begrenzter Rekursionstiefe (--level=n). Alternativ schalten Sie die Baumansicht ab und lassen Exa über die Schalter -R oder --recurse einfach nur die Unterordner mit auflisten. Wieder lässt sich die Tiefe über die Option --level begrenzen.

Abbildung 3: Mithilfe der Baumansicht von Exa behalten Sie selbst bei verzweigten Verzeichnisstrukturen den Überblick.
Auch die Shortcuts zum Sortieren der Ausgabe erleichtern den Alltag in der Shell. Um beispielsweise schnell die größten Dateien in einem Ordner zu finden, rufen Sie Exa mit exa -lr --sort=size auf. Der Schalter -r invertiert die Reihenfolge der Ausgabe, sodass die größten Dateien am Anfang der Liste stehen.
Besser auspacken
Im Alltag hat man es immer wieder mit Dateiarchiven zu tun, etwa einem ZIP, RAR oder Tarball (TAR.GZ, TAR.BZ). Die Kommandos zum Entpacken dieser Archive fallen ebenso unterschiedlich aus wie die Formate: mal unzip, mal unrar e, mal tar xzf.
Besonders Tar fordert den Anwender mit seiner kryptischen Syntax regelmäßig heraus. Der Nerd-Comic-Zeichner xkcd hat dem Thema nicht umsonst einen eigenen Strip gewidmet [6]. Nervtötend sind zum Beispiel prall gefüllte Archive, die beim Entpacken nicht in einem eigenen Unterverzeichnis landen, sondern den aktuellen Ordner zumüllen. Solcher Unzulänglichkeiten nimmt sich der Entpacker Dtrx [7] an – das Kürzel steht für “Do The Right Extraction”.
Alle gängigen Distributionen führen Dtrx in den Paketquellen, unter Ubuntu zieht die Installation gleich eine ganze Reihe von Werkzeugen zum Entpacken mit. Bei Arch dagegen müssen Sie selbst die nötigen Tools einspielen. Als Wrapper kann Dtrx selbst keine Archive auspacken, sondern erledigt nur das Zusammenstellen der nötigen Syntax für Sie. Anschließend müssen Sie sich nur noch dtrx Datei zum Auspacken von Archiven merken.
Abbildung 4 zeigt Dtrx in Aktion: Der bewusst schlecht gebaute Tarball bad-tarball.tar.xz enthält kein Basis-Unterverzeichnis, alle Daten landen also beim Entpacken mit tar xf im aktuellen Ordner. Zudem übernimmt Tar unverändert die Dateirechte – in diesem Fall darf man als Nutzer die Dateien nicht verändern, sondern muss erst über Chmod oder einen Dateimanager die Rechte anpassen. Dtrx korrigiert all das in einem Kommando.

Abbildung 4: Dtrx korrigiert beim Entpacken automatisch Schreib- sowie Leserechte und sorgt durch Erstellen eines Unterverzeichnisses für Ordnung.
Besseres Terminal
Auch für den Terminalemulator selbst gibt es Alternativen, es muss nicht immer das Gnome Terminal sein. So lohnt ein Blick auf Tilix [8]: Das laufend weiterentwickelte Programm übertrifft in Sachen Funktionen die meisten anderen Terminalanwendungen.
So erlaubt Tilix etwa, das Fenster in mehrere Sub-Terminals zu teilen. So lassen Sie beispielsweise in einem Fensterbereich Htop die aktuelle Auslastung anzeigen, im zweiten geben Sie Systeminformationen aus, und im Hauptabschnitt arbeiten Sie wie gewohnt weiter (Abbildung 5). Die einzelnen Unterfenster lassen sich per Drag & Drop umorganisieren oder auch als neue Terminals aus der Anwendung herausziehen.

Abbildung 5: Der moderne Terminalemulator Tilix bietet viele nützliche Funktionen. So lässt sich das Fenster beispielsweise in mehrere Unterfenster aufteilen.
Am Geschmack scheiden sich bekanntlich die Geister. Das gilt auch für Farben im Terminal: Die einen bevorzugen schwarzen Text auf weißem Hintergrund, die anderen eher helle Schrift auf dunklem Untergrund. Die meisten Terminals bringen von Haus aus verschiedene Farbprofile mit, die sich mit wenigen Klicks in den Einstellungen aktivieren lassen.
Nicht in der vorgegebenen Palette enthalten ist meist Nord [9]. Das eher dunkel gehaltene Farbprofil gibt es für zahlreiche Programme, von klassischen Terminalanwendungen über Putty (auch für Windows) bis hin zu entsprechenden Profilen für Editoren oder Entwicklungsumgebungen (Abbildung 6). Auf seiner Github-Seite verlinkt das Projekt zu den unterschiedlichen Anwendungen.

Abbildung 6: Wer im Terminal eher auf dunkle Farben setzt, dürfte an der Farbpalette von Nord (hier unter Putty) gefallen finden.
Fazit
Die Arbeit in einer Shell muss man nicht mögen, man kann Sie sich jedoch mit zahlreichen Helfern erleichtern. Neben den hier vorgestellten Werkzeugen finden Sie auf Awesome Shell [10] zahlreiche weitere Anregungen. Für so gut wie jeden Anwendungsfall und für jedes Bedürfnis gibt es im Open-Source-Ozean irgendein Werkzeug, das einem bei der Umsetzung hilft – man muss es nur finden.
Infos
-
Zsh: http://www.zsh.org/
-
Fish: https://fishshell.com/
-
Hstr-Installation: https://github.com/dvorka/hstr/blob/master/INSTALLATION.md
-
Xkcd-Comic zu Tar: https://xkcd.com/1168
-
Awesome Shell: https://github.com/alebcay/awesome-shell




