iX 5/2016
S. 133
Praxis
Tools & Tipps
Aufmacherbild

Mit dem Terminal umgehen lernen

Spielkonsole

Echte Hacker arbeiten mit dem Terminal. Doch das will gekonnt sein. Zum Glück gibt es spielerische Ansätze, Fähigkeiten im Umgang mit Shell & Co. zu erlernen und zu verbessern.

Übung macht den Meister – aber nicht unbedingt Spaß. Wer sich nicht durch trockene Tutorials und Handbücher arbeiten will, kann Kenntnisse auch durch Spielen aufbauen. Sechs kurzweilige Angebote, den Umgang mit der Linux-Konsole, vim und regulären Ausdrücken zu erlernen, sollen hier vorgestellt werden. Die jeweiligen Websites finden sich über „Alle Links“ am Ende des Artikels.

Ein Mord in Terminal City – die Polizei braucht Ihre Hilfe. Das ist der Aufhänger von clmystery, einem interaktiven Krimi. Beim Lösen kann man spielerisch die Bedienung der Kommandozeile erlernen. Zeugenaussagen und Tatortbeschreibung liegen in einer Sammlung von Textdateien vor. Deren Umfang beträgt mehrere 10 000 Zeilen: 1500 Befragungen und Berichte vom Tatort, eine Datenbank sämtlicher Bewohner der Stadt, die Liste aller gemeldeten Autos sowie Mitgliedsbestände aller Vereine. Wer gezielt vorgeht, erhält nur den relevanten kleinen Bruchteil all dieser Informationen. Dafür braucht man Kommandozeilenwerkzeuge wie grep, head und tail. Die korrekte Lösung liegt als md5-Prüfsumme vor.

Karteikarten 2.0

Ähnlich spielerisch funktioniert Terminus. Dort schlüpft der Spieler in die Rolle eines Zauberlehrlings und lernt die Magie der Kommandozeile kennen. Ziel ist es, dem dunklen Zauberer das Handwerk zu legen. Dafür muss man sich durch die Welt bewegen (cd), umherschauen (ls und less) und Objekte verschieben (mv) sowie untersuchen (grep). Anders als clmystery, das in Form einfacher Textdateien vorliegt, ist Terminus im Browser spielbar.

Kein richtiges Spiel, eher ein spielerisches Karteikartensystem stellt Memrise dar. Die Plattform bietet Lernhilfen aus vielen Themengebieten, vorwiegend zu (gesprochenen) Sprachen, aber auch einige Kurse für die Kommandozeile. Neben dem reinen Abfragen von Wissen über Multiple Choice, Texteingaben oder das Zusammenfügen von Textbausteinen sammeln Wissbegierige bei Memrise Punkte, anhand derer sie in einer Bestenliste Aufnahme finden und sich mit den „Mitspielern“ vergleichen können.

Früher oder später treffen Konsolennutzer auf den Editor vi(m). Seine ungewohnte Bedienung bringt das Browser-Spiel „VIM Adventures“ näher. Die ersten drei Level vermitteln grundlegende Navigationskommandos, ab dann wird das Spiel kostenpflichtig. Für 25 Dollar kann man weitere Kommandos erlernen und die Welt vor den Bugs, den Bösewichten im Spiel, retten. Nach diesem Einstieg gibt es wahrscheinlich keine Rettung mehr vor der vim-Sucht, und Perfektionierung ist angesagt.

Nach dem Lernen kommt das Perfektionieren

Auf vimgolf.com können Nutzer ihre vim-Kenntnisse gemäß dem Motto „Real Vim ninjas count every keystroke – do you?“ unter Beweis stellen. Die gestellten Aufgaben gilt es in möglichst wenig Zügen zu meistern: oft Umordnen von Text oder Umbenennen von Variablen. „Fun with the diagonal“ etwa verlangt, dass die Zeichen auf der Diagonalen der Matrix

a a a a a
b b b b b
c c c c c
d d d d d
e e e e e

in Großbuchstaben umgewandelt werden. Könner sehen sofort, dass sich diese Aufgabe mit 11 Tastendrücken, qq~6wq5@qZZ, lösen lässt. Die üblichen Lösungsstrecken bewegen sich zwischen 10 und 30 Eingaben, was nicht heißt, dass sich das Finden nicht über mehrere Tage hinziehen kann. Das Zählen kann man dem zugehörigen Programm vimgolf überlassen: eine blanke vim-Instanz ohne voreingestellte Makros und Plug-ins mit Zugriff auf die Vimgolf-Webschnittstelle. Löst man eine Aufgabe richtig, lässt sich das Ergebnis direkt im Anschluss auf vimgolf.com eintragen. Der Clou: Erst dadurch erhält man Einsicht in bessere Lösungen von anderen Spielern und kann so von den Profis lernen.

Regex-Crosswords: Jedes Feld ein Buchstabe. Die Patterns an den Rändern geben an, welchen Bedingungen die Zeilen und Spalten genügen müssen.

In den meisten Unix-Programmen lassen sich reguläre Ausdrücke einsetzen, um Zeichenketten anhand allgemeiner Muster zu finden. Für Uneingeweihte erscheinen diese ähnlich kryptisch wie vim-Befehle. d[er|ie|as] etwa liefert Treffer bei jedem Vorkommen von „der“, „die“ oder „das“. Die Grundsätze lassen sich erlernen und dann perfektionieren mit den Regex-Crosswords. Dabei handelt es sich um Gitter, deren Zeilen und Spalten mit regulären Ausdrücken beschriftet sind (siehe Abbildung). Die Felder müssen mit Buchstaben befüllt werden, die allen äußeren Bedingungen genügen. Vorgefertigt sind Rätsel in zehn Kategorien: unterschiedliche Schwierigkeitsgrade, aber auch Sonderformen wie Palindrome, Hamlet-Zitate oder Städtenamen. Wer selbst auf der anderen Seite des Pults stehen will, kann eigene Rätsel erstellen und auf der Website hochladen. Der eingebaute Editor gibt Auskunft über die Machbarkeit und Vieldeutigkeit des erstellten Rätsels – so entstand das Beispiel in der Abbildung für die Leser der iX. (jab)