Das Terminal

Unten auf jeder Seite, direkt über dem Footer, sitzt ein kleines Terminal mit einer Eingabezeile. Es ist kein echtes Linux, sondern ein Stück JavaScript, das ein paar Befehle so nachbaut, wie man sie aus einer Shell kennt. Kaputt machen kann man damit nichts. Es erscheint erst ab Tablet-Breite, auf dem Handy gibt es das Terminal nicht.

Bedienung

Ein Klick auf die Eingabezeile, / oder Strg+K irgendwo auf der Seite setzt den Cursor hinein. Dann tippt man einen Befehl und drückt Enter. Die Ausgabe klappt darüber auf, und Esc klappt sie wieder zu.

help listet alle Befehle. Mit den Pfeiltasten hoch und runter holt man frühere Eingaben zurück, und Tab ergänzt einen angefangenen Befehl oder Seitennamen. Die Ausgaben sind auf Englisch, so wie in einer echten Shell.

In den Beispielen unten steht vor dem Befehl ein $. Den tippt man nicht mit, er markiert nur, was Eingabe ist. Was darunter steht, ist die Ausgabe.

cat

cat heißt eigentlich concatenate und gibt den Inhalt von Dateien aus. Hier sind die Seiten der Website die Dateien, und cat zeigt die kurze Beschreibung einer Seite. ls listet, was es gibt.

$ cat projekte
Übersicht laufender und abgeschlossener Projekte.

Ohne Namen, aber mit einer Pipe davor (siehe unten), gibt cat einfach weiter, was hereinkommt.

curl

Ein echtes curl schickt eine HTTP-Anfrage an eine Adresse und druckt die Antwort, mit -I nur die Header. Ein Browser darf das aus einer Seite heraus nicht für beliebige Adressen, deshalb öffnet curl hier eine öffentliche Adresse in einem neuen Tab. Das kann eine ganze URL sein oder ein Pfad auf dieser Seite.

$ curl /de/projekte/
--> https://www.dirnhofer.net/de/projekte/  (new tab)

wget macht dasselbe.

base64

Base64 schreibt beliebige Bytes mit nur 64 Zeichen: Groß- und Kleinbuchstaben, Ziffern, + und /. So übersteht Binäres jeden Weg, der eigentlich nur Text kennt, etwa eine E-Mail. Verschlüsselt ist dabei nichts, jeder kann es zurückrechnen. Am Ende stehen oft ein oder zwei =, die füllen nur auf.

Ohne Option kodiert base64 den Text dahinter:

$ base64 hallo
aGFsbG8=

Mit -d dekodiert es wieder:

$ base64 -d aGFsbG8=
hallo

Pipes

Ein | zwischen zwei Befehlen schickt die Ausgabe des ersten als Eingabe in den zweiten. echo gibt einfach aus, was dahinter steht, und zusammen mit einer Pipe ist das der übliche Weg, etwas zu dekodieren:

$ echo aGFsbG8= | base64 -d
hallo

Das geht auch über mehrere Stufen hintereinander, und andere Befehle wie grep oder sort lesen ebenso, was aus einer Pipe kommt.

drnhfr-sh 1.0 (x86_64-unknown-linux-gnu) * Documentation: type "help" or "?" * Getting around: type "ls", then "cd" Last login: never, from a machine much like this one.