00 Quiz: Terminal- und CLI-Grundlagen
March 2026 (2554 Words, 15 Minutes)
Neu: Interaktives Quiz verfügbar!
Möchtest du deinen Fortschritt verfolgen und sofortiges Feedback erhalten? Probiere unsere neue interaktive Version mit Fortschrittsverfolgung, sofortigen Erklärungen und Punkteberechnung.
Anleitung
- Dieses Quiz testet dein Verständnis der Schlüsselkonzepte aus Anhang 0 Teil 1 (Terminal- und CLI-Grundlagen)
- Jede Frage hat 4 Optionen mit genau einer richtigen Antwort
- Versuche zu antworten, ohne in den Vorlesungsmaterialien nachzuschauen
- Konzentriere dich auf das Verständnis der Konzepte, nicht auf das Auswendiglernen von Details
Frage 1: Was ist ein Terminal?
Was ist ein Terminal im Kontext moderner Informatik?
A) Eine textbasierte Schnittstelle, in der du Befehle eingibst und der Computer mit Text antwortet
B) Eine physische Tastatur, die mit einem Großrechner verbunden ist
C) Eine grafische Anwendung zum Surfen im Internet
D) Ein spezieller Modus in deinem Webbrowser zum Ausführen von Systembefehlen
Antwort anzeigen
Richtige Antwort: A
Ein Terminal ist eine textbasierte Schnittstelle – im Grunde eine Textkonversation mit deinem Computer. Du gibst Befehle ein, und der Computer antwortet mit Textausgaben. Obwohl Terminals ursprünglich physische Geräte (Option B) in den 1960er-70er Jahren waren, sind sie heute Softwareprogramme namens “Terminalemulatoren”, die dieselbe textbasierte Interaktion simulieren. Sie sind keine grafischen Browser (C), und obwohl manche Browser Entwicklerkonsolen haben, ist ein Terminal eine eigenständige Anwendung (D).
Frage 2: Terminal vs. Shell
Was ist der Unterschied zwischen einer Terminalanwendung und einer Shell?
A) Sie sind dasselbe – “Terminal” und “Shell” sind austauschbare Begriffe
B) Das Terminal verarbeitet lokale Ein- und Ausgaben auf deinem Rechner; die Shell führt Befehle auf einem entfernten Server aus
C) Die Shell ist das Fenster; das Terminal ist der Befehlsinterpreter
D) Das Terminal ist das Fenster auf deinem Bildschirm; die Shell ist das Programm, das darin läuft und deine Befehle interpretiert
Antwort anzeigen
Richtige Antwort: D
Die Terminalanwendung ist das Fenster (zuständig für Textanzeige, Farben, Schriftarten, Scrollen). Die Shell ist das Programm, das in diesem Fenster läuft, deine Befehle interpretiert und mit dem Betriebssystem kommuniziert. Die Vorlesung verwendet eine Analogie: Das Terminal ist das Telefon (das Gerät), und die Shell ist die Sprache, die du am Telefon sprichst. Option C vertauscht die korrekten Definitionen, und Option A ignoriert eine Unterscheidung, die beim Troubleshooting oder bei der Konfiguration wichtig ist.
Frage 3: Standard-Shells
Welche Shell ist seit Catalina (2019) die Standard-Shell auf macOS?
A) bash
B) PowerShell
C) zsh
D) Command Prompt
Antwort anzeigen
Richtige Antwort: C
Seit macOS Catalina (2019) ist die Standard-Shell zsh. Davor verwendete macOS bash. Linux-Distributionen verwenden typischerweise bash als Standard, und Windows verwendet PowerShell als Standard. Command Prompt (cmd.exe) ist keine Shell im Unix-Sinne – es ist der ältere Windows-Befehlsinterpreter.
Frage 4: Windows-Terminal-Optionen
Welche Terminal-/Shell-Kombination wird für diesen Kurs unter Windows empfohlen?
A) Command Prompt (cmd.exe), weil es das älteste und stabilste ist
B) PowerShell, weil es der moderne Windows-Standard und am weitesten verbreitet ist
C) WSL (Windows Subsystem for Linux), weil es eine vollständige Linux-Umgebung bietet
D) Git Bash, weil es Bash-Syntax bietet, die zu Linux-/macOS-Befehlen passt
Antwort anzeigen
Richtige Antwort: D
Git Bash wird empfohlen, weil es eine Bash-Shell unter Windows bereitstellt, sodass Befehle wie ls, cd, cat, grep genauso funktionieren wie unter Linux und macOS. Die überwiegende Mehrheit der Tutorials und Dokumentationen verwendet Bash-Syntax. WSL (C) ist eine fortgeschrittene Option, die für diesen Kurs nicht benötigt wird. PowerShell (B) verwendet eine andere Syntax, und Command Prompt (A) ist veraltet.
Frage 5: Das VS Code Terminal
Wenn du im VS Code Terminal-Dropdown mehrere Shell-Optionen siehst (PowerShell, Git Bash, Command Prompt), was bewirkt jede Option?
A) Jede Option öffnet dasselbe Terminalfenster, aber mit einer anderen Shell, die darin läuft
B) Jede Option öffnet eine völlig andere Terminalanwendung mit eigenem Fenster und eigenen Einstellungen
C) Jede Option verbindet sich mit einem anderen Remote-Server, auf dem deine Befehle tatsächlich ausgeführt werden
D) Jede Option öffnet eine andere Programmiersprachen-Umgebung zum Schreiben und Ausführen von Code
Antwort anzeigen
Richtige Antwort: A
Jede Option im VS Code Terminal-Dropdown öffnet dasselbe Terminalfenster, aber mit einer anderen Shell darin. Das ist die Terminal-vs.-Shell-Unterscheidung in Aktion – das VS Code Terminal ist die Terminalanwendung, und du wählst, welche Shell (PowerShell, Bash usw.) darin läuft. Du kannst sogar mehrere Terminal-Tabs nebeneinander öffnen, jeder mit einer anderen Shell.
Frage 6: Bash vs. Zsh
Was ist der praktische Unterschied zwischen Bash und Zsh für Anfänger in diesem Kurs?
A) Sie verwenden völlig unterschiedliche Befehlssätze und Syntaxregeln – man muss beide separat lernen
B) Bash funktioniert nur unter Linux; Zsh funktioniert nur unter macOS
C) Sie verstehen dieselben Kernbefehle – die Unterschiede sind nur bei fortgeschrittener Anpassung relevant
D) Zsh ist deutlich schneller als Bash und ist immer die bevorzugte Wahl
Antwort anzeigen
Richtige Antwort: C
Bash und Zsh sind beide Unix-Shells, die dieselben Kernbefehle verstehen: cd, ls, mkdir, rm, cat, echo, grep und Hunderte mehr. Wenn du Bash lernst, kannst du im Grunde auch Zsh für den täglichen Gebrauch. Die Unterschiede (Zsh hat bessere Tab-Vervollständigung, Rechtschreibkorrektur und Anpassungsmöglichkeiten) sind nur bei fortgeschrittener Nutzung relevant. Die Vorlesung rät: “Verschwende jetzt keine Zeit mit der Shell-Auswahl.”
Frage 7: Das Prompt-Symbol
Wenn ein Tutorial $ git status zeigt, was sollst du eingeben?
A) $ git status (inklusive Dollarzeichen)
B) git status (ohne Dollarzeichen)
C) > git status (mit Größer-als-Zeichen stattdessen)
D) run git status (mit dem Präfix run)
Antwort anzeigen
Richtige Antwort: B
Das $ am Anfang ist der Prompt – es zeigt an, dass das Terminal bereit für deinen nächsten Befehl ist. Du gibst es nicht selbst ein. Du tippst nur git status und drückst Enter. Verschiedene Shells verwenden unterschiedliche Prompt-Symbole ($ für Bash, % für Zsh, > für PowerShell), aber sie alle dienen demselben Zweck: “Ich bin bereit für deinen nächsten Befehl.”
Frage 8: Dateipfade
Was bedeutet das ~-Symbol in einem Dateipfad wie cd ~/Documents?
A) Das Stammverzeichnis des Dateisystems
B) Das übergeordnete Verzeichnis (eine Ebene höher)
C) Das aktuelle Verzeichnis
D) Dein Home-Verzeichnis
Antwort anzeigen
Richtige Antwort: D
Die ~ (Tilde) ist eine Abkürzung für dein Home-Verzeichnis (/home/user unter Linux, /Users/user unter macOS, C:\Users\user unter Windows). cd ~/Documents bedeutet also “gehe zum Documents-Ordner in meinem Home-Verzeichnis”. Das Stammverzeichnis ist / (Option A), das übergeordnete Verzeichnis ist .. (Option B), und das aktuelle Verzeichnis ist . (Option C).
Frage 9: Befehlssyntax
Was ist -m im Befehl git commit -m "Add README file"?
A) Ein Unterbefehl, der git sagt, welche Aktion ausgeführt werden soll
B) Ein Argument, das dem Befehl Daten bereitstellt
C) Ein Flag (Option), das das Verhalten des Befehls modifiziert
D) Das Programm, das ausgeführt wird
Antwort anzeigen
Richtige Antwort: C
In der Befehlsstruktur git commit -m "Add README file" ist -m ein Flag (auch Option genannt), das das Verhalten des Befehls modifiziert. Konkret teilt -m dem Befehl commit mit, dass der nächste Wert die Commit-Nachricht ist. Ohne -m würde git einen Texteditor öffnen, damit du die Nachricht schreibst. git ist das Programm (D), commit ist der Unterbefehl (A) und "Add README file" ist das Argument (B).
Frage 10: Kurze vs. lange Flags
Was ist die Beziehung zwischen -m und --message in git?
A) Sie sind völlig unterschiedliche Flags, die verschiedene Aspekte des Commit-Verhaltens modifizieren
B) -m ist die Kurzform und --message ist die Langform – sie tun genau dasselbe
C) --message ist veraltet und sollte nicht verwendet werden
D) -m ist die Linux-/macOS-Variante, während --message das Windows-spezifische Äquivalent ist
Antwort anzeigen
Richtige Antwort: B
Die meisten Flags haben zwei Formen: eine Kurzform (einzelner Bindestrich + ein Buchstabe, wie -m) und eine Langform (doppelter Bindestrich + ein Wort, wie --message). Sie tun genau dasselbe. Kurzformen sind schneller zu tippen; Langformen sind leichter zu lesen. Dieses Muster ist konsistent über die meisten CLI-Tools hinweg, nicht nur bei git.
Frage 11: PATH-Umgebungsvariable
Was ist die PATH-Umgebungsvariable?
A) Das aktuelle Arbeitsverzeichnis, das bestimmt, wo sich deine Terminal-Sitzung befindet
B) Eine Liste von Ordnern, die die Shell der Reihe nach durchsucht, um Programme zu finden, wenn du einen Befehl eingibst
C) Der vollständige Dateipfad, der auf den Installationsordner eines bestimmten Programms auf der Festplatte zeigt
D) Eine Konfigurationseinstellung, die steuert, welche Dateien beim Auflisten von Verzeichnisinhalten sichtbar sind
Antwort anzeigen
Richtige Antwort: B
PATH ist eine Umgebungsvariable, die eine Liste von Ordnern enthält. Wenn du einen Befehl wie git eingibst, durchsucht die Shell diese Ordner der Reihe nach, bis sie ein Programm mit diesem Namen findet. Die Vorlesung vergleicht es mit einem Telefonbuch: Die Shell schlägt den eingegebenen Namen in einer Liste bekannter Adressen nach. Wenn der Ordner des Programms nicht im PATH ist, erhältst du “command not found”.
Frage 12: Command Not Found
Du gibst ruff check ein und erhältst “command not found.” Was ist die WAHRSCHEINLICHSTE Ursache?
A) Das Programm ruff existiert nicht und wurde nie veröffentlicht
B) Das Programm ist installiert, aber inkompatibel mit deiner aktuellen Shell
C) Das Programm ist nicht installiert, oder sein Ordner ist nicht in deinem PATH
D) Du musst PowerShell statt Bash für diesen Befehl verwenden
Antwort anzeigen
Richtige Antwort: C
“Command not found” bedeutet nicht, dass das Programm generell nicht existiert – es bedeutet, dass die Shell es nicht finden kann. Die häufigsten Ursachen sind: (1) das Programm ist nicht installiert, oder (2) der Installationsordner des Programms ist nicht in deinem PATH. Eine dritte häufige Ursache ist, dass du das Programm installiert, aber das Terminal nicht neu gestartet hast – viele Installer fügen zum PATH hinzu, aber die Änderung wird erst in neuen Terminalfenstern wirksam.
Frage 13: Programme sind Dateien
Was passiert tatsächlich, wenn du ein Programm auf deinem Computer “installierst”?
A) Dateien werden auf deine Festplatte kopiert und (üblicherweise) wird der Speicherort des Programms zum PATH hinzugefügt
B) Das Programm wird in den Kernel deines Betriebssystems kompiliert
C) Der Quellcode des Programms wird gespeichert und bei jedem Ausführen neu kompiliert
D) Das Programm wird heruntergeladen und läuft jedes Mal direkt aus dem Internet, wenn du es startest
Antwort anzeigen
Richtige Antwort: A
Ein Programm ist einfach eine Datei auf deiner Festplatte, die Anweisungen enthält, die dein Computer ausführen kann. Ein Programm zu installieren bedeutet, Dateien auf deine Festplatte zu kopieren und typischerweise den Ordner des Programms zu deinem PATH hinzuzufügen, damit die Shell es finden kann. Ein Programm auszuführen bedeutet, dass das Betriebssystem die Datei liest und die darin enthaltenen Anweisungen befolgt. Es gibt keine Magie – keine Kernel-Kompilierung (B), keine Neukompilierung bei jedem Start (C) und kein Internet-Streaming (D).
Frage 14: Kompiliert vs. Interpretiert
Warum musst du Python installieren, bevor du .py-Dateien ausführen kannst, aber git läuft direkt?
A) Python benötigt mehr Systemressourcen, sodass ein separater Laufzeitmanager die Speicherzuweisung übernehmen muss
B) Git ist ein kompiliertes Programm, das direkt läuft; Python-Skripte benötigen einen Interpreter, der sie Zeile für Zeile liest und ausführt
C) Git kann dein Betriebssystem automatisch erkennen, aber Python erfordert eine manuelle Plattformkonfiguration
D) Python-Dateien müssen vor der Ausführung ins .exe-Format konvertiert werden, wofür ein Installer erforderlich ist
Antwort anzeigen
Richtige Antwort: B
Git ist ein kompiliertes Programm – sein Quellcode wurde einmalig von einem Compiler in Maschinencode übersetzt, wodurch eine eigenständige ausführbare Datei entstand. Der Computer führt sie direkt aus. Python-Skripte sind interpretiert – der Quellcode wird Zeile für Zeile von einem anderen Programm namens Interpreter gelesen und ausgeführt. Die .py-Datei ist nicht eigenständig ausführbar; du brauchst den Python-Interpreter: python mein_skript.py bedeutet “sage dem Python-Interpreter, dass er diese Datei lesen und ausführen soll.”
Frage 15: Programme vs. IDE-Erweiterungen
Du installierst das “Python”-Programm auf deinem Computer UND die “Python” VS Code-Erweiterung. Warum brauchst du beides?
A) Das Programm ist der Motor, der Code ausführt; die Erweiterung ist eine Brücke, die die Ausgabe des Programms in VS Code sichtbar macht
B) Sie sind redundant – die Installation eines von beiden gibt dir volle Python-Funktionalität in VS Code
C) Die Erweiterung enthält ihren eigenen eingebauten Python-Interpreter, wodurch das eigenständige Programm überflüssig wird
D) Das Programm übernimmt die Ausführung im Terminal, während die Erweiterung die Ausführung im Browser übernimmt
Antwort anzeigen
Richtige Antwort: A
Das Programm (z.B. python, ruff, git) ist das eigentliche Werkzeug, das die Arbeit im Terminal erledigt. Die IDE-Erweiterung ist eine Brücke zwischen VS Code und dem Programm – sie ruft das Programm im Hintergrund auf und zeigt die Ergebnisse in VS Code an (Syntaxhervorhebung, Fehlerunterstreichungen, Autovervollständigung). Die Erweiterung enthält keinen eigenen Python-Interpreter (C); sie kommuniziert mit dem installierten Programm. Wenn du die Erweiterung installierst, aber das Programm vergisst, zeigt VS Code einen Fehler an, dass kein Python-Interpreter gefunden werden kann.
Frage 16: Warum Automatisierung wichtig ist
Was ist der Hauptvorteil davon, Terminalbefehle in einer Skriptdatei zu speichern, anstatt sie einzeln einzugeben?
A) Skripte laufen schneller, weil sie die Shell umgehen und direkt mit dem Betriebssystem kommunizieren
B) Skripte bieten eingebaute Fehlerbehandlung, die verhindert, dass Befehle jemals fehlschlagen
C) Skripte sind in professionellen Umgebungen verpflichtend, weil sie Audit-Trails und Compliance-Aufzeichnungen liefern
D) Skripte ermöglichen Wiederholbarkeit – du kannst dieselbe Sequenz ohne Tippfehler ausführen und eine einzige Datei bearbeiten, um den Prozess zu ändern
Antwort anzeigen
Richtige Antwort: D
Der Hauptvorteil von Skripten ist Wiederholbarkeit und Wartbarkeit. Ein Skript tut genau das, was du manuell getan hast, aber schneller, ohne Tippfehler und wiederholbar. Wenn du den Einrichtungsprozess ändern musst, bearbeitest du eine Datei, anstatt dich an eine Befehlssequenz erinnern zu müssen. Dieses Prinzip liegt aller modernen Automatisierung zugrunde: Pre-Commit-Hooks, CI/CD-Pipelines, Test-Runner und Linter. Skripte umgehen nicht die Shell (A) und verhindern auch nicht alle Fehler (B).
Bewertungsleitfaden
- 15-16 richtig: Ausgezeichnet! Du hast ein starkes Verständnis der Terminal- und CLI-Grundlagen
- 11-14 richtig: Gutes Verständnis! Wiederhole die Bereiche, die du verpasst hast, besonders die Unterschiede zwischen Terminals, Shells und PATH
- 7-10 richtig: Ausreichendes Verständnis. Lies die Vorlesungsabschnitte zu Terminal vs. Shell, PATH und Befehlssyntax erneut
- Unter 7: Bitte lies den Anhang sorgfältig durch. Diese Konzepte sind die Grundlage für alles im Kurs. Melde dich, wenn du Klärung brauchst!
Wichtige Erkenntnisse zum Merken
- Terminal = Fenster, Shell = Sprache - Das Terminal ist die Anwendung; die Shell (Bash, Zsh, PowerShell) interpretiert deine Befehle darin
- Git Bash unter Windows verwenden - Es bietet plattformübergreifende Bash-Befehle, die zu Linux/macOS passen
- Befehle folgen einem Muster -
Programm Unterbefehl --Flag Argumentist konsistent über alle CLI-Tools - Den Prompt nicht eintippen - Das
$-,%- oder>-Symbol ist der Prompt, nicht Teil des Befehls - PATH ist eine Suchliste - Die Shell durchsucht PATH-Ordner der Reihe nach, um Programme zu finden; “command not found” bedeutet, der Ordner ist nicht im PATH
- ~ ist Home, . ist hier, .. ist hoch - Diese Pfadsymbole sind essentiell für die Navigation
- Kurze Flags = Lange Flags -
-mund--messagetun dasselbe; kurz ist schneller, lang ist klarer - Programme sind einfach Dateien - Installieren bedeutet Dateien kopieren und PATH aktualisieren
- Kompiliert vs. Interpretiert - Git läuft direkt; Python-Skripte brauchen den Python-Interpreter
- Erweiterungen rufen Programme auf - VS Code-Erweiterungen sind Brücken zu Terminal-Programmen, keine Ersetzungen
Denke daran: Das Terminal ist kein veraltetes Relikt – es ist die Grundlage moderner Softwareentwicklung. Server, CI/CD-Pipelines, Deployment-Systeme und professionelle Tools laufen alle über Textbefehle. Das Terminal zu beherrschen bedeutet zu verstehen, wie die gesamte Software-Entwicklungspipeline funktioniert!