Thema 3

Arbeit in der Konsole

Die Konsole (auch Terminal genannt) ist ein Fenster, in dem du dem Computer Befehle tippst, statt zu klicken. Ihr großer Wert: Sie erledigt Wiederholungen in Sekunden und schaut auch in Dateien hinein – nicht nur auf ihre Namen. Wir arbeiten auf dem LernStick.

Zuerst: die Spielwiese aufbauen

Alles passiert in einem Wegwerf-Ordner namens ~/konsole-uebung. Baue ihn mit diesem Befehl auf – in die Konsole kopieren, Enter drücken:

curl -s https://informatik9.mhprivatecloude.com/downloads/setup-konsole.sh | bash

Geht etwas kaputt? Denselben Befehl einfach nochmal – nach 5 Sekunden ist alles wieder da.

Eine Regel

Wir arbeiten nur im Übungsordner ~/konsole-uebung. Dort kann nichts kaputtgehen, was uns wehtut.

Schritt 1

Ankommen in der Konsole

Die ersten Befehle verändern nichts – sie zeigen dir nur, wo du bist und was da ist. Damit kann nichts schiefgehen.

BefehlWas er macht
pwdzeigt, wo du gerade bist (der Pfad)
lslistet auf, was im Ordner liegt
ls -ldasselbe mit Details (Größe, Datum)
cd ordnergeht in einen Ordner hinein
cd ..geht einen Ordner zurück
cat dateizeigt den Inhalt einer Datei an

Zaubertrick: die Tab-Taste

Tippe die ersten Buchstaben eines Namens und drücke Tab – die Konsole vervollständigt ihn selbst. Das spart Tippen und Tippfehler.

Aufgabe 1 – Orientierung

  1. Wechsle in die Spielwiese: cd ~/konsole-uebung
  2. Wo bist du? (pwd) Und was liegt hier? (ls)
  3. Lies die Datei notiz.txt mit cat.
  4. Geh in den Ordner briefe, liste seinen Inhalt und geh wieder zurück.
Lösung anzeigen
cd ~/konsole-uebung
pwd
ls
cat notiz.txt
cd briefe
ls
cd ..

Schritt 2

Ein Befehl, hundert Dateien

Jetzt kommt der Wow-Moment: Was du von Hand hundertmal klicken müsstest, macht die Konsole in einem einzigen Befehl.

BefehlWas er macht
mkdir ordnerlegt einen neuen Ordner an
touch datei.txtlegt eine leere Datei an
{1..100}steht für die Zahlenreihe 1, 2, 3 … 100

Zusammen ergibt das echte Magie: touch bild{1..100}.txt erzeugt 100 Dateien in einer Sekunde. Nachzählen kannst du mit ls | wc -l.

Aufgabe 2 – Massenware

  1. Lege einen Ordner an und geh hinein: mkdir test, dann cd test.
  2. Erzeuge 30 Dateien auf einmal: touch aufgabe{1..30}.txt
  3. Prüfe mit ls und zähle mit ls | wc -l.
  4. Lege zusätzlich 10 Ordner an: mkdir ordner{1..10}
Lösung anzeigen
mkdir test
cd test
touch aufgabe{1..30}.txt
ls
ls | wc -l      # zeigt 30
mkdir ordner{1..10}

Warum das mächtig ist

Wiederholung ist Arbeit für die Konsole, nicht für dich. Überall, wo hundert gleichartige Dinge anfallen (Fotos, Rechnungen, Messwerte …), spielt sie ihre Stärke aus.


Schritt 3

In Dateien schauen: Suchen & Zählen

Die zweite Superkraft der Konsole: Sie sieht in Dateien hinein und verkettet Werkzeuge wie Legosteine.

BefehlWas er macht
grep wort *.txtsucht das Wort in allen Textdateien
grep -r wort .sucht auch in allen Unterordnern
wc -l dateizählt die Zeilen einer Datei
| (Pipe)leitet die Ausgabe in den nächsten Befehl

Der Lego-Trick: die Pipe

Das Zeichen | reicht das Ergebnis des einen Befehls an den nächsten weiter. ls | wc -l zählt so die Dateien, grep -l geheim *.txt | wc -l zählt, in wie vielen Dateien ein Wort vorkommt.

Aufgabe 3 – Schatzsuche

Wechsle zuerst in den Ordner mit den 50 Textdateien: cd ~/konsole-uebung/texte

  1. In welcher der 50 Dateien versteckt sich das Wort Schatz?
  2. Wie viele Dateien enthalten das Wort geheim?
  3. Finde das Passwort – es liegt in einem Unterordner.
  4. Wie viele Zeilen hat die Datei ../briefe/brief5.txt?
Lösung anzeigen
grep Schatz *.txt              # text37.txt
grep -l geheim *.txt | wc -l   # 4
grep -r Passwort .             # ./archiv/hinweis.txt: sonnenblume
wc -l ../briefe/brief5.txt     # 11

Schritt 4

Parcours – alles zusammen

Jetzt kombinierst du selbst. Jede Aufgabe ist mit einem Befehl lösbar.

Aufgabe 4 – Parcours

  1. Wie viele Dateien liegen im Ordner texte? (Tipp: ls und Pipe)
  2. Erzeuge im Ordner bilder 50 Dateien urlaub{1..50}.jpg.
  3. Zähle, wie viele Dateien im Ordner bilder „urlaub" im Namen tragen.
  4. Räume deine 50 selbst erzeugten Dateien wieder auf.
Lösung anzeigen
ls ~/konsole-uebung/texte | wc -l
cd ~/konsole-uebung/bilder
touch urlaub{1..50}.jpg
ls | grep urlaub | wc -l       # 50
rm urlaub{1..50}.jpg           # nur im Uebungsordner!

Vorsicht mit rm

rm löscht Dateien endgültig – ohne Papierkorb, ohne Rückfrage. Deshalb benutzen wir es nur in unserer Spielwiese, um eigene Übungsdateien aufzuräumen. Im Zweifel: erst überlegen, dann Enter.


Vertiefung · Teil 1

Ein ganzes Buch in einer Sekunde

Bisher hast du einzelne Dateien durchsucht. Jetzt kommt die volle Wucht: ein kompletter Roman – Goethes „Faust" mit über 30.000 Wörtern – ausgewertet in einem Augenblick. Von Hand müsstest du stundenlang zählen; der Rechner braucht einen Wimpernschlag.

Buch laden

Hol dir den Text in deinen aktuellen Ordner:

wget -q https://informatik9.mhprivatecloude.com/downloads/faust.txt

Prüfe mit ls, dass faust.txt da ist.

BefehlWas er macht
wc -w faust.txtzählt alle Wörter
wc -l faust.txtzählt alle Zeilen
grep -c Faust faust.txtzählt die Zeilen, in denen „Faust" steht

Der große Trick: die häufigsten Wörter

Diese Kette zerlegt den ganzen Text in einzelne Wörter, sortiert sie und zählt, welche am häufigsten vorkommen:

cat faust.txt | tr ' ' '\n' | sort | uniq -c | sort -rn | head

Jedes Glied macht eine kleine Sache – zusammen sind sie mächtig. Genau das Lego-Prinzip der Pipe aus Schritt 3.

Aufgabe – Faust unter der Lupe

  1. Wie viele Wörter und wie viele Zeilen hat das Buch?
  2. Wer kommt öfter vor – Faust oder Mephistopheles?
  3. Lass dir die 10 häufigsten Wörter ausgeben. Was fällt dir auf?
  4. Vergleiche Gretchen und Margarete (zwei Namen für dieselbe Person).
Lösung anzeigen
wc -w faust.txt        # rund 30.000 Woerter
wc -l faust.txt        # rund 8.000 Zeilen
grep -c Faust faust.txt            # 270
grep -c Mephistopheles faust.txt   # 286  -> Mephisto knapp vorn
cat faust.txt | tr ' ' '\n' | sort | uniq -c | sort -rn | head
grep -c Gretchen faust.txt     # 36
grep -c Margarete faust.txt    # 86

Die häufigsten Wörter sind kleine Funktionswörter wie „und", „die", „der", „ich" – sie tragen kaum Inhalt, kommen aber überall vor. Genau dieses Zählen steckt in Suchmaschinen und Textprogrammen.


Vertiefung · Teil 2

Wie ein Rechner Passwörter knackt

Warum soll ein Passwort lang sein? Weil ein Computer alle Möglichkeiten durchprobiert – unglaublich schnell. Wir bauen das nach: eine geheime 4-stellige PIN, die der Rechner selbst knackt.

Achtung – nur zum Verstehen

Das ist ein Lern-Experiment mit einer selbst erzeugten Zufalls-PIN. Fremde Passwörter oder Konten zu knacken ist verboten. Hier geht es nur darum zu verstehen, warum Sicherheit von der Länge abhängt.

Die Brute-Force-Maschine

Kopiere das in die Konsole. Es würfelt eine geheime PIN und probiert dann 0000, 0001, 0002 … durch, bis sie stimmt – mit time gestoppt:

PIN=$(shuf -i 0-9999 -n 1 | xargs printf "%04d\n")
time for i in $(seq -w 0 9999); do
  [ "$i" = "$PIN" ] && { echo "Geknackt: $i"; break; }
done

Führe es ein paar Mal aus. Egal welche PIN – der Rechner findet sie in Sekundenbruchteilen.

Aufgabe – Wie lange hält ein Passwort?

  1. Starte die Maschine drei Mal. Wie lange braucht sie laut time ungefähr?
  2. Eine 4-stellige PIN hat 10.000 Möglichkeiten. Wie viele sind es bei 6 Ziffern?
  3. Warum ist ein Passwort aus Buchstaben und Zahlen und Länge so viel sicherer?
Lösung anzeigen

1. Meist deutlich unter einer Sekunde – 10.000 Versuche sind für den Rechner nichts.

2. 6 Ziffern = 10 · 10 · 10 · 10 · 10 · 10 = 1.000.000 Möglichkeiten.

3. Jede zusätzliche Stelle und jedes zusätzliche Zeichen (klein, groß, Ziffer, Sonderzeichen) vervielfacht die Möglichkeiten. Aus Tausenden werden schnell Billionen – dann ist Durchprobieren aussichtslos.

PasswortMöglichkeitenFür den Rechner …
4 Ziffern10.000sofort
6 Ziffern1.000.000Bruchteil einer Sekunde
8 Zeichen (a–z, A–Z, 0–9)≈ 218 Billionenpraktisch aussichtslos

Das nimmst du mit

Ein Rechner ist mächtig, weil er in Sekunden schafft, wofür ein Mensch Jahre bräuchte: riesige Datenmengen durchsuchen (Teil 1) und Millionen Möglichkeiten durchprobieren (Teil 2). Deshalb: lange Passwörter mit gemischten Zeichen.

↑ Nach oben