Lab „Linux im Alltag“: die dreißig Befehle, die Entwickelnde auswendig tippen

Dieses Lab gibt jeder lernenden Person eine eigene Ubuntu-Maschine und fünf kurze Lektionen zu den Befehlen, die man besser kennt, als sie nachzuschlagen: sich im Dateisystem bewegen, Dateien anlegen und lesen, ein Log durchsuchen, einen Prozess beenden, ein Archiv packen, etwas aus dem Web holen und sich auf einer anderen Maschine anmelden. Auf dem Computer der lernenden Person wird nichts installiert, und nichts, was sie tut, kann etwas anderes beschädigen als ihre eigene Kopie.

Was Lernende hier lernen

Sich mit pwd, ls und cd bewegen sowie Dateien anlegen, kopieren, verschieben und löschen. Text mit cat, head und tail lesen, mit den Zeichen schreiben, die eine Ausgabe in eine Datei umleiten, und ihn mit grep und einer Pipe durchsuchen. Berechtigungen: die rwx-Spalten von ls -l lesen und mit chmod ein Skript ausführbar machen. Prozesse: einen mit ps finden, mit kill beenden, und warum kill -9 dem Prozess vorbehalten bleibt, der sich nicht beenden lässt. Speicherplatz und Arbeitsspeicher mit df, du und free. Archive mit zip, gzip und tar. Herunterladen mit wget und curl. Mit su und sudo zu einem anderen Benutzer werden, sich mit ssh anmelden und mit scp kopieren, ein Programm mit apt installieren, einen Dienst mit systemctl verwalten und eine Datei in vi bearbeiten.

Die seltenen und komplizierten Befehle fehlen absichtlich. Man findet sie mit einer Suche oder einem Assistenten schneller, wenn man sie braucht.

Was sich auf der Maschine befindet

Ein Log in /var/log/test.log, in das alle zwei Sekunden geschrieben wird, damit tail -f etwas zu verfolgen hat. Eine Zip-Datei, eine Datei zum Komprimieren und ein kleiner Baum aus Ordnern. Ein Ordner namens scratch, in dem man gefahrlos löschen kann. Ein kleiner Webserver auf localhost, von dem wget und curl herunterladen können, sodass keine Lektion vom Internet abhängt. Zwei Hintergrundprozesse, die gefunden und beendet werden sollen, von denen einer ein einfaches kill ignoriert. Und ein zweites Konto, dev, das unter dem Namen devbox erreichbar ist.

Die zweite Maschine ist dieselbe VM unter einem anderen Konto, und die Lektionen sagen das. Die Befehle sind die, die man auf einem echten Server nutzt, und ein Schlüssel ist bereits eingerichtet, damit eine Schaltfläche sie ausführen kann, ohne dass ein Passwort getippt werden muss.

Im Browser ausführen

VM-Labs werden in einem Modul als Lab-Aufgabe gestellt, und das Beispiel finden Sie auf der Seite des Labs. Die Maschine ist klein: eine CPU, 1 GB Arbeitsspeicher und 10 GB Speicherplatz.

  1. Lab hinzufügen. Fügen Sie in einem Modul, das Sie unterrichten, eine Aufgabe hinzu und wählen Sie die Karte „Ubuntu-VM-Lab“. Die Seite zeigt statt einer Compose-Datei eine kurze Beschreibung der Maschine.
  2. Mit dem Beispiel beginnen. Die Seite bietet fertige Labs als Ausgangspunkt an. Wählen Sie Everyday Linux commands. Ein Beispiel ersetzt den Text, und „Rückgängig“ bringt Ihren eigenen zurück.
  3. Veröffentlichen und eigene Kopie starten. Veröffentlichen Sie das Lab und wählen Sie dann „Starten“. Das Einrichtungsskript des Labs installiert einige kleine Programme aus dem Ubuntu-Archiv und legt beim ersten Start der VM, in weniger als einer Minute, ein Log, ein Archiv, einen Webserver und zwei Prozesse an.
  4. Terminal öffnen. Öffnen Sie das Terminal der VM und lesen Sie README.md im Home-Verzeichnis: Sie führt auf, was sich auf der Maschine befindet. Öffnen Sie danach die erste der fünf Lektionen.

Eine Grundlagenlektion zu diesem Lab

Es gibt fünf kurze Lektionen, die alle in diesem Lab durchgearbeitet werden: Everyday Linux 1: Move and make, Everyday Linux 2: Permissions and removing, Everyday Linux 3: Logs and processes, Everyday Linux 4: Archives, disk and the web und Everyday Linux 5: Users and other machines. Jede steht für sich, beginnt mit dem Wechsel ins Home-Verzeichnis und enthält einen Einstieg, ein Ziel „Ich kann“, Schlüsselwörter, einen Einstieg über Vorwissen, eine Kontrolle nach jeder Idee und eine abschließende Kontrolle.

Eine Schaltfläche „Ausführen“ tippt ihren Befehl in das Terminal der VM und zeigt, was ausgegeben wurde. Ein Befehl, der von selbst nie endet oder etwas nachfragt, wie tail -f, su oder vi, ist mit „Type this“ markiert, und die lernende Person tippt ihn selbst im Terminal. Die letzte Lektion endet mit einem Spickzettel zum Aufbewahren.

So wird es im Unterricht eingesetzt

Das Lab bewertet nichts und eignet sich daher für eine erste Linux-Stunde, eine Wiederholung oder zum Üben vor einem bewerteten Lab, etwa Linux-Administration.

  1. Zuweisen. Weisen Sie das Lab und die Lektionen wie jede Aufgabe zu, auf Wunsch mit einem Fälligkeitsdatum. Jede lernende Person erhält eine eigene VM, die zwischen den Sitzungen erhalten bleibt.
  2. Beim Arbeiten zusehen. Das Terminal neben einer Lektion gehört der lernenden Person selbst. Sie können ihr in der Klassenliste dabei zusehen oder es übernehmen, während sie tippt.
  3. Selbst bewerten, wenn Sie eine Note möchten. Das Lab hat kein Prüfskript. Wenn Sie eine Abgabe möchten, verlangen Sie etwas Kleines, etwa die Ausgabe eines ausgeführten Befehls oder einen Screenshot des Logs mit der gefundenen Fehlerzeile.

Die Definition auf GitHub

Die Datei ist die vollständige Lab-Definition, derselbe Text, den die Plattform ausführt: Größe, Einrichtungsskript und README. Kopieren Sie sie und fügen Sie eine eigene Datei oder einen eigenen Dienst hinzu, um ein Lab für Ihre eigene Klasse zu erstellen.

Häufige Fragen

Gibt es eine zweite Maschine für ssh und scp?
Es ist dieselbe VM unter einem zweiten Konto, dev, erreichbar als devbox mit einem bereits eingerichteten Schlüssel. Die Befehle und ihre Ausgabe sind dieselben wie bei einem echten Server, und ein Lab mit zwei Maschinen ist aufwendiger zu starten.
Können Lernende durch das Löschen von Dateien etwas beschädigen?
Nur ihre eigene Kopie. Die Lektionen löschen in einem Ordner namens scratch, und wenn eine lernende Person die Maschine kaputt macht, kann sie das Lab beenden und neu starten.
Braucht das Lab das Internet?
Nein. Downloads kommen von einem kleinen Webserver innerhalb des Labs. Die Maschine erreicht nur das Ubuntu-Archiv, PyPI, npm und GitHub und sonst nichts im Internet.
Wird das Lab „Linux im Alltag“ automatisch bewertet?
Nein. Es hat kein Prüfskript, denn die Lektionen sind die Aktivität. Stellen Sie eine kleine eigene Abgabe, oder wechseln Sie zum Lab Linux-Administration, das bewertet wird.