Weiterlesen mit NEWS. Jetzt testen.
Lesezeit ca. 5 Min.

Navi: Interaktiver Spickzettel


LinuxUser - epaper ⋅ Ausgabe 2/2020 vom 16.01.2020

Wenn die History versagt und die Manpage zu lang ist, hilft Navi Ihnen mit einem interaktiven Cheatsheet in der Shell auf die Sprünge.


Artikelbild für den Artikel "Navi: Interaktiver Spickzettel" aus der Ausgabe 2/2020 von LinuxUser. Dieses epaper sofort kaufen oder online lesen mit der Zeitschriften-Flatrate United Kiosk NEWS.

Bildquelle: LinuxUser, Ausgabe 2/2020

Wie lautet gleich noch mal der Parameter zum Erstellen eines Archivs mit Tar? In der History findet sich nichts, da bleibt nur noch der Blick in die Manpage – ein Gedankengang, der bestimmt jedem Freund der Kommandozeile bereits des Öfteren begegnet ist.

Generell sind Manpages nützlich, aber durchaus nicht immer: Manche gibt es nur in Englisch, andere sind so umfangreich, dass der Zeitaufwand für die Suche nach einer Information in keinem Verhältnis zum Problem steht und ...

Weiterlesen
epaper-Einzelheft 5,99€
NEWS Jetzt gratis testen
Bereits gekauft?Anmelden & Lesen
Leseprobe: Abdruck mit freundlicher Genehmigung von LinuxUser. Alle Rechte vorbehalten.
Lesen Sie jetzt diesen Artikel und viele weitere spannende Reportagen, Interviews, Hintergrundberichte, Kommentare und mehr aus über 1000 Magazinen und Zeitungen. Mit der Zeitschriften-Flatrate NEWS von United Kiosk können Sie nicht nur in den aktuellen Ausgaben, sondern auch in Sonderheften und im umfassenden Archiv der Titel stöbern und nach Ihren Themen und Interessensgebieten suchen. Neben der großen Auswahl und dem einfachen Zugriff auf das aktuelle Wissen der Welt profitieren Sie unter anderem von diesen fünf Vorteilen:

  • Schwerpunkt auf deutschsprachige Magazine
  • Papier sparen & Umwelt schonen
  • Nur bei uns: Leselisten (wie Playlists)
  • Zertifizierte Sicherheit
  • Freundlicher Service
Erfahren Sie hier mehr über United Kiosk NEWS.

Mehr aus dieser Ausgabe

Titelbild der Ausgabe 2/2020 von Hamara Linux: Nehmen und geben. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Hamara Linux: Nehmen und geben
Titelbild der Ausgabe 2/2020 von Lsdeluxe: Kunterbunt. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Lsdeluxe: Kunterbunt
Titelbild der Ausgabe 2/2020 von Drucken auf der Shell: Drucken per Skript. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Drucken auf der Shell: Drucken per Skript
Titelbild der Ausgabe 2/2020 von Diff-Varianten: Spurensuche. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Diff-Varianten: Spurensuche
Titelbild der Ausgabe 2/2020 von Ultrascreen: Hilfe per Fernblick. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Ultrascreen: Hilfe per Fernblick
Titelbild der Ausgabe 2/2020 von Ksnip: Bitte recht freundlich. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Ksnip: Bitte recht freundlich
Vorheriger Artikel
Drucken auf der Shell: Drucken per Skript
aus dieser Ausgabe
Nächster Artikel Diff-Varianten: Spurensuche
aus dieser Ausgabe

... die Arbeit über Gebühr unterbricht.

Die History-Funktion der Bash steht dem Anwender hier oft hilfreich zur Seite, bringt aber ebenfalls nicht immer das gewünschte Ergebnis. Als Abhilfe kommen interaktive Spickzettel ins Spiel, sogenannte Cheatsheets. Werkzeuge, um diese zu nutzen, finden Sie auf Github reichlich, was als Beleg dafür gelten darf, dass es sich beim beschriebenen Problem um keinen Einzelfall handelt.

Befehle finden

Eine Cheatsheet-Anwendung, die neben guter Funktionalität auch ein fürs Auge angenehmes Design bietet, ist das noch junge Navi In der Beschreibung des Entwicklers heißt es sinngemäß, es ermögliche unter anderem, durch eingebaute, selbst verfasste oder aus dem Netz geladene Cheatsheets zu blättern, für Befehle Optionen und Argumente anzuzeigen oder diese gleich auszuführen. Navi und ähnlich gestrickte Kolle- gen eignen sich gut, um neu entdeckte Befehle mit allen Möglichkeiten interaktiv zu erlernen.

Die Installation der Software von der Webseite ist schnell erledigt (Listing 1). Dabei installieren Sie Navi wahlweise in ein beliebiges Verzeichnis (Zeile 6) statt in den Pfad. Das einzige, was nun noch fehlt, ist der String-Matching-Algorithmus Fzf, ein Suchwerkzeug, das wieselflink per unscharfer („fuzzy“) Suche bestimmte Zeichenketten in einem längeren String oder einem Text findet. Ohne Fzf meckert Navi beim ersten Start.

Das Tool findet sich in den Repositories von Debian, Fedora und Arch Linux; dort installieren Sie es über das Paketmanagement. Ersatzweise kommt für die Installation das aus dem Umfeld von Mac OS X stammende Homebrew zum Einsatz. Selbst an die Anwender der Z-Shell hat der Entwickler von Navi gedacht: Für die weitverbreitete Konfigurationsdatei Oh My ZSH! bietet er auf der Webseite eine Anleitung zur Integration. Als einzige weitere Abhängigkeit benötigt Navi Ncurses, das aber bei fast jeder Distribution vorinstalliert ist.

Updates

Da die Arbeit am relativ jungen Navi ständig weitergeht, sollten Sie die Software periodisch aktualisieren. Taucht eine neue Version auf, lässt sich ein Update via Git schnell erledigen (Listing 2).

Dateien zum Artikel herunterladen unter

www.linux-user.de/dl/43717

1 Navi bietet in der Übersicht links verschiedene Kategorien, die die Rezepte grob gliedern. In der Mitte geht es dann um eine konkrete Aufgabenstellung, und rechts den entsprechenden Befehl, der zu der genannten Problemstellung passt.


2 Mit Stichworten grenzen Sie die Auswahl von Befehlen zu einem bestimmten Thema direkt in der Maske ein.


Weitere Infos und interessante Links

www.linux-user.de/qr/43717

Als Erstes sollten Sie sich nun kurz mit den Argumenten und Optionen von Navi vertraut machen, indem Sie navi --help in einer Shell aufrufen. Anschließend starten Sie das Programm, indem Sie navi eingeben. Daraufhin öffnet das Tool eine Liste mit derzeit 242 bereits eingebetteten Spickzetteln 1.

In der dreigeteilten Ansicht sehen sie links die Anwendung oder die Umgebung, aus der die Befehle stammen, in der Mitte die damit zu erledigenden Aufgaben und rechts den entsprechenden Befehl dazu. Die Software bietet die Möglichkeit, nur Befehle aus einer Rubrik anzuzeigen. So finden Sie etwa mit navi query git nur Befehle für Git. Alternativ grenzen Sie die Ergebnisse im Fenster ein, indem Sie dort etwa ip addr eintippen. Dann erhalten Sie lediglich die drei Befehle, die IP-Adressen behandeln 2.

Die Interaktivität kommt ins Spiel, sobald Sie auf einem gewählten Befehl einen Doppelklick mit der Maus ausführen. Erfordert der Befehl keine weitere Eingabe, übergibt das Programm ihn direkt an die Shell. Im Fall des Kommandos List running services aus der Abteilung systemctl, service etwa führt der Mausklick direkt zur Liste der laufenden Dienste 3.

Direkte Ausgabe

In diesem Fall stellt das direkte Ausführen kein Problem dar, da der Befehl lediglich eine Liste ausgibt und sonst keine Änderungen vornimmt. Was aber, wenn Sie nicht sicher sind, ob der gewählte Befehl der richtige ist?

Hier ergänzen Sie den Befehl um die Option --print, um das direkte Ausführen zu verhindern. Möchten Sie diese Variante als Standard nutzen, so definieren Sie einen entsprechenden Alias, wie etwa alias navi='navi --print', und tragen ihn in Ihre ~/.bashrc ein.

Aber die Software kennt noch eine weitere Variante. Als Beispiel soll der Befehl Create a tar containing files aus der Abteilung compression dienen. Er erfordert zwei Eingaben des Benutzers, die die Software nach einem Klick auf den Befehl abfragt. Unter name: tragen Sie den gewünschten Namen des Tar-Archivs ein, während files: den Pfad zu den Dateien erwartet, die Sie komprimieren möchten.

3 Befehle, die keine Änderungen am System vornehmen, wie hier das Auflisten der aktiven Dienste, dürfen Sie gefahrlos direkt ausführen.


Haben Sie beide Eingaben bestätigt, zeigt das Tool den Befehl an, der das entsprechende Archiv erstellt 4. Den führt Navi jedoch nicht aus, da ja --print angegeben ist. Hat das Kommando den gewünschten Effekt, bietet es sich an, es zu kopieren und auszuführen.

Online-Cheatsheets

Eine weitere Möglichkeit, das Programm zu nutzen, ist die direkte Eingabe eines Befehls als Argument beim Start. So liefert die Eingabe von navi search apt acht Befehle für Debians Paket-Tool Apt. Sie stammen allerdings nicht aus dem installierten Navi-Paket, sondern aus Online- Quellen wie etwa Cheat.sh, wo weitere Spickzettel bereitstehen 5.

Als Widget einbinden

Navi unterstützt darüber hinaus einen Modus, bei dem Sie es als Widget in die Shell einbinden. Auf diese Weise bleibt die History weiterhin aktuell, und Sie haben die Möglichkeit, den Befehl vor dem Ausführen noch beliebig zu bearbeiten. Um die Software als Widget zu verwenden, fügen Sie einfach die Zeile source "$(navi widget bash)" in Ihre ~/. bashrc oder in /etc/bash.bashrc ein. So starten Sie Navi künftig über [Strg]+[G]. Ist die Tastenkombination bereits belegt oder möchten Sie eine andere Kombination vergeben, definieren Sie diese in /opt/navi/navi.plugin.bash.

4 Der Befehl zum Erstellen eines Tar-Archivs benötigt die Eingabe eines Namens sowie eines Pfads, bevor das Tool ihn anzeigt.


Selbst erstellt

Fehlt ein für Sie wichtiger Befehl, erstellen Sie selbst einen passenden Spickzettel und rufen ihn in Navi auf. Als Vorlage nutzen Sie eine Datei aus /opt/navi/ cheats/. Eine detaillierte Erläuterung der Syntax finden Sie auf Github Rufen Sie den neuen Spickzettel dann mit einem Befehl wie dem aus der ersten Zeile von Listing 3 auf oder binden Sie in $NAVI_PATH mehrere Verzeichnisse ein, die Sie jeweils durch Doppelpunkte voneinander trennen (Zeile 2).

Fazit

Navi erleichtert Konsoleros den Umgang insbesondere mit komplexen Kommandozeilenbefehlen. Die mitgelieferten Cheats legen den Fokus mit Docker, Kubernetes und Git stark auf die Bedürfnisse von Entwicklern, enthalten aber auch viele für Desktop-Anwender nützliche Spickzettel.

Zudem lässt sich Navi durch das Einbinden von Online-Cheats oder selbst erstellten Spickzetteln beliebig erweitern. Dabei weist der Entwickler explizit darauf hin, dass er die Online-Spickzettel nicht überprüft hat. Hier sollte also unbedingt die Option --print zum Einsatz kommen.

Möchten Sie Navi ohne Installation testen, so bietet die Webseite Katacoda dazu Gelegenheit Kommen Sie mit dem Programm überhaupt nicht klar, dann finden Sie auf Github weitere ähnliche Tools, wie etwa Cheat, Cmdmenu, Beavr und Howdoi. (agr)

5 Per navi search apt bindet Navi Befehle für das Debian-Paketmanagement ein. Sie stammen aber aus Online-Cheatsheets, weswegen es sich empfiehlt, die Kommandos vor dem Ausführen mittels --print unter die Lupe zu nehmen.


README

Navi bereitet Cheatsheets für Befehle der Shell in interaktiver Form auf. Es ruft bei Bedarf sogar weitere Online-Cheats aus dem Netz ab und erlaubt das Einbinden selbst erstellter Vorlagen für weitere Befehle.


© Atith Jiranaphawiboon, 123RF