Mit Kmdr-CLI Shell-Kommandos interaktiv erlernen

Aus LinuxUser 04/2020

Mit Kmdr-CLI Shell-Kommandos interaktiv erlernen

© Dean Drobot, 123RF

Gut erklärt

Das Shell-Werkzeug Kmdr-CLI hilft beim Zusammensetzen und Verstehen von eigenen Kommandos sowie beim Überprüfen von Befehlen, die Sie aus dem Internet übernehmen.

Wer seine Arbeit am Rechner häufig über die Kommandozeile erledigt, der weiß, dass das einen ständigen Lernprozess erfordert – insbesondere, wenn es darum geht, komplexe Befehle zusammenzusetzen, um eine Aufgabe zu erledigen. Die dafür investierte Zeit holen Sie aber beim wiederholten Erledigen derselben Aufgabe schnell wieder herein.

Doch was tun, wenn der gefundene Befehl nicht nach Ihren Vorstellungen funktioniert? Wie testen Sie gefahrlos die Auswirkungen von Parametern? Im Internet gibt es für viele solcher Aufgaben bereits fertige Lösungsansätze. Als in dieser Hinsicht besonders ergiebig gelten Plattformen wie Stack Overflow [1] und Dreamincode [2] sowie die Wikis der Distributionen, allen voran jenes von Arch Linux.

Da stellt sich jedoch schnell die Vertrauensfrage: Möchten Sie Befehle aus dem Internet auf der heimischen Hardware ausführen, ohne genau zu wissen, was sie bewirken? Informationen aus dem Netz sind nicht immer korrekt und oft schlicht veraltet. Abhilfe schaffen hier Online-Dienste zum Erlernen entsprechender Skills. Dazu zählen Codeacademy [3], das in Deutsch verfügbare Learnshell [4], oder – in epischer Breite – die Bash Academy [5]. Darüber hinaus gibt es noch viele mehr.

Das Tool Kmdr-CLI [6] geht das Thema eher praxisorientiert an. Die App erklärt Befehle aus vielen Bereichen, indem sie sie in deren Einzelteile zerlegt, die sie dann erläutert und anhand von Beispielen veranschaulicht.

Umfassend

Kmdr-CLI erklärt neben den in der Bash eingebauten Befehlen solche aus über 300 Anwendungen, Sprachen und Werkzeugen [7]. Dazu zählen unter anderem Python, Java, Perl, Go, Ruby und Rails. Das Tool deckt zudem Befehle aus vielen weiteren Bereichen ab, darunter Container, Datenbanken, Monitoring, Paketmanagement sowie die Arbeit mit Dateien und Archiven.

Die flexible Anwendung kommt beim Einsatz im Webbrowser [8] völlig ohne Installation aus. Bei Bedarf teilen Sie die Ergebnisse über einen Link mit anderen (Abbildung 1). Möchten Sie das Terminal nicht verlassen, installieren Sie das in Node.js geschriebene Werkzeug direkt auf dem Rechner. Das setzt allerdings mindestens Node.js 8 sowie dessen Paketmanager NPM voraus.

Abbildung 1: Kmdr-CLI nutzen Sie ohne Installation in jedem Browser. Das Ergebnis teilen Sie ähnlich wie bei einem Pastebin bei Bedarf durch das Erzeugen einer neuen URL mit anderen.

Abbildung 1: Kmdr-CLI nutzen Sie ohne Installation in jedem Browser. Das Ergebnis teilen Sie ähnlich wie bei einem Pastebin bei Bedarf durch das Erzeugen einer neuen URL mit anderen.

An einer dritten Option arbeiten die drei Entwickler gerade. Ist diese implementiert, erreichen Sie das Tool per Erweiterung im Kontextmenü des Browsers (Abbildung 2). Damit überprüfen Sie dann Befehle, die Sie im Netz finden, direkt über das Kontextmenü, ohne sie in ein Terminal zu übertragen.

Abbildung 2: Die bald erscheinende Browser-Erweiterung von Kmdr-CLI ermöglicht über das Kontextmenü das Überprüfen von Befehlen, die Sie auf Webseiten markieren.

Abbildung 2: Die bald erscheinende Browser-Erweiterung von Kmdr-CLI ermöglicht über das Kontextmenü das Überprüfen von Befehlen, die Sie auf Webseiten markieren.

Installation

Für eine lokale Installation von Kmdr-CLI stellen Sie zunächst Node.js und NPM bereit. Die entsprechenden Kommandos für Debian (Zeile 1) und Fedora (Zeile 2) zeigt Listing 1. Alternativ bedienen Sie sich des jeweiligen grafischen Paketmanagers der verwendeten Distribution.

Listing 1

$ sudo apt install nodejs npm
$ sudo dnf install nodejs npm
$ npm install kmdr@latest --global

Der Befehl aus der letzten Zeile von Listing 1 richtet Kmdr-CLI ein, was Sie abschließend mit der Eingabe kmdr überprüfen. Dabei sehen Sie, dass die Software nur wenige Optionen benötigt (Abbildung 3). Das Vorhandensein von Aktualisierungen überprüfen Sie mit kmdr upgrade.

Abbildung 3: Kmdr-CLI kommt beim Erfüllen seiner Funktion mit wenigen Optionen aus.

Abbildung 3: Kmdr-CLI kommt beim Erfüllen seiner Funktion mit wenigen Optionen aus.

Auch die Paketmanager Yarn und Homebrew erlauben die Installation der Software. Verwenden Sie Yarn und scheitert anschließend die Eingabe von kmdr, fügen Sie folgenden Pfad in die Datei .bashrc ein:

export PATH="$(yarn global bin):$PATH"

Kmdr-CLI arbeitet darüber hinaus auch in einen Docker-Container. Die passenden Schritte erklärt die Webseite des Projekts [9].

Schnell erlernt

Um das Tool zu starten, geben Sie kmdr e ein, worauf der Prompt Sie zur Eingabe des zu klärenden Befehls auffordert. Das e steht für erläutern (engl.: “explain”). Nun tippen Sie den fraglichen Befehl oder fügen ihn aus der Zwischenablage ein. Über [Eingabe] starten Sie die Analyse. Als Ergebnis erhalten Sie eine Erklärung aller Einzelschritte des Kommandos, weitere Beispiele zum Einsatz des zugrundeliegenden Befehls sowie verwandte Werkzeuge oder Anwendungen.

Dabei zerlegt die Software das Kommando in seine Einzelteile und erläutert alle Attribute einzeln. Ein Test mit einem einfachen Beispiel wie tar -xzf archiv.tgz verdeutlicht das: Hier benennt Kmdr-CLI tar als Archiv-Software, erkennt die Optionen x, z und f, und identifiziert archiv.tgz als Argument, auf das Sie den Befehl anwenden wollen. Um die einzelnen Teile besser zu unterscheiden, nutzt die Software Syntaxhervorhebung.

Komplex

Das Programm legt Sie aber nicht auf solche einfachen Befehle fest. Sie dürfen auch Kommandos angeben, die per Pipe Programmausgaben an weitere Befehle übergeben oder andere Umleitungen enthalten. Daneben erkennt Kmdr-CLI auch doppelte Pipes, &&, if, or sowie and. Als ein Beispiel führt die GitHub-Projektseite hierzu folgende Befehlsfolge an (Abbildung 4):

dmesg | grep 'usb' > output.log 2> error.log
Abbildung 4: Auch komplexe zusammengesetzte Befehle zerlegt und erläutert Kmdr-CLI. Hier reicht Dmesg seine Ausgabe an Grep durch, das Ergebnis landet in zwei Dateien.

Abbildung 4: Auch komplexe zusammengesetzte Befehle zerlegt und erläutert Kmdr-CLI. Hier reicht Dmesg seine Ausgabe an Grep durch, das Ergebnis landet in zwei Dateien.

Am Ende entscheiden Sie, ob Sie per Eingabetaste den Prompt für eine weitere Erklärung freigeben oder ob Sie das Ergebnis mit anderen teilen möchten. Hierzu vergeben Sie bei Bedarf einen Namen für das Konstrukt und erhalten eine URL. Die entsprechende Seite ließ sich bei den Tests allerdings nicht laden, sondern lief wegen Zeitüberschreitung ins Leere. Wir erstellten dazu einen Fehlerbericht [10].

Nicht ausgeführt

Die Software führt die eingegebenen Befehle nicht auf dem System aus. Sie landen als Zeichenkette auf einem Server, der sie als solche verarbeitet. Die neben dem String übertragenen Daten umfassen laut FAQ [11] die Art des Betriebssystems, die verwendete Shell sowie das Terminal. Diese Informationen sollen zur weiteren Entwicklung des Werkzeugs dienen.

Fazit

Kmdr-CLI braucht sich vor anderen interaktiven Bash-Tutorials nicht zu verstecken, ganz im Gegenteil: Die bereits bestehende Infrastruktur auf der Webseite macht einen professionellen Eindruck und zeigt, dass die Entwickler die Funktionen ausweiten möchten und an der weiteren Verbreitung der Anwendung arbeiten.

Die Arbeit an Kmdr-CLI läuft seit rund einem halben Jahr. Laut den Entwicklern steht nun die Basis, auf der sie aufbauen möchten. Im nächsten Schritt folgt die Integration in den Browser, die es erlaubt, dort markierte Befehle über das Kontextmenü zu überprüfen. 

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 04/2020 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben