Klicke deine Antwort an — bei Mehrfachauswahl alle zutreffenden! Sofort siehst du, ob richtig oder falsch, und bekommst eine kurze Erklärung. Keine Wertung, keine Sammlung — das Quiz ist nur für dich selbst, damit du sehen kannst, was sitzt und wo du nochmal nachsehen solltest.
-
Du erklärst einem Praktikanten, in welcher Reihenfolge die Komponenten beim Linux-Boot ausgeführt werden. Welche Reihenfolge ist korrekt?✓ Richtig! Korrekte Reihenfolge: BIOS/UEFI (Firmware-Check) → Bootloader (GRUB2 lädt das gewählte System) → Kernel (Linux übernimmt) → systemd als PID 1 startet alle Services. Auf modernen Systemen ist statt BIOS oft UEFI im Einsatz — die Reihenfolge bleibt gleich.✗ Nicht ganz. Reihenfolge ist: Firmware (BIOS/UEFI) zuerst — sie kennt nur die Hardware. Dann der Bootloader (GRUB2), der das Betriebssystem auswählt. Dann der Kernel, der die Hardware übernimmt. Dann systemd als erster User-Space-Prozess (PID 1).
-
Ein Kollege bittet dich, auf einem Test-Server kurzfristig den grafischen Modus zu starten — ohne Reboot, ohne dass beim nächsten Boot der GUI-Modus automatisch kommt. Welcher Befehl ist passend?✓ Richtig!
isolatewechselt sofort zum angegebenen Target, ohne den Default beim nächsten Boot zu ändern. Genau das, was hier verlangt war: live umschalten, aber temporär.✗ Nicht ganz.set-defaultändert nur den nächsten Boot, wechselt jetzt nichts.enableist für Services, nicht für Targets.switchexistiert nicht.isolateist die Antwort — wechselt sofort und beeinflusst den Default nicht. -
Welche der folgenden Befehle aktualisieren installierte Pakete auf neuere Versionen? (mehrere richtig möglich)✓ Richtig! Bei
dnfsind update und upgrade identisch — beide installieren neuere Versionen.check-updatezeigt nur an, was es gäbe, installiert aber nichts (read-only).--refreshist eine Option, kein eigenständiger Update-Befehl.✗ Nicht ganz. Die zwei richtigen sind update und upgrade — beidnfsynonym.check-updateist nur ein Trockenlauf.install --refreshlädt die Repo-Metadaten neu, aktualisiert aber keine installierten Pakete. -
Du hast in
/etc/default/grubdie VariableGRUB_TIMEOUT=10gesetzt und gespeichert. Beim nächsten Reboot ist das Bootmenü trotzdem nur 5 Sekunden sichtbar. Was hast du wahrscheinlich vergessen?✓ Richtig!/etc/default/grubist nur die Vorlage. Die echte Konfiguration in/boot/grub2/grub.cfgwird erst aktualisiert, wenn dugrub2-mkconfig -o /boot/grub2/grub.cfgausführst. Ohne diesen Schritt bleibt der alte Wert wirksam.✗ Nicht ganz. GRUB hat keinen Daemon, den man neu starten kann — Option a) gibt es nicht.reboot --apply-grubexistiert nicht. Direkt ingrub.cfgeditieren wäre falsch — die Datei wird bei jedemgrub2-mkconfigüberschrieben. Richtig:grub2-mkconfigaufrufen, das schreibt die aktualisiertegrub.cfgaus der Vorlage. -
Welche der folgenden Variablen ist nach Konvention eine Umgebungsvariable?✓ Richtig! Umgebungsvariablen werden per Konvention komplett GROSSGESCHRIEBEN, oft mit Unterstrich als Trennzeichen — wie
$JAVA_HOME,$HOME,$PATH,$LANG. Eigene Shell-Variablen schreibt man dagegen meist klein.✗ Nicht ganz. Standard-Umgebungsvariablen sind in Großbuchstaben geschrieben — z. B.$HOME,$PATH,$JAVA_HOME.$path,$Home,$myEditorsehen nicht aus wie System-Umgebungsvariablen. Richtig:$JAVA_HOME. -
In einem Terminal gibst du nacheinander folgende Befehle ein:
Der dritte BefehlNAME="Tim" bash echo $NAMEecho $NAMEwird innerhalb der neu gestarteten Bash ausgeführt (also direkt nachbash, ohne vorherigesexit). Was gibt derecho-Befehl aus?✓ Richtig! OhneexportistNAMEnur eine Shell-Variable der ersten Bash. Die zweite Bash (Kind-Prozess) erbt sie nicht —$NAMEist dort leer, also gibtechoeine leere Zeile aus. Erst mitexport NAMEwäre sie vererbt worden.✗ Nicht ganz. Variablen ohneexportbleiben in der aktuellen Shell. Wenn du eine neue Bash startest, ist die Variable in der neuen Shell nicht definiert.echogibt für undefinierte Variablen eine leere Zeile aus (keinen Fehler). Nur mitexport NAMEwürde die zweite BashTimausgeben. -
Welche der folgenden Befehle fahren ein Linux-System herunter UND schalten die Hardware ab? (mehrere richtig möglich)✓ Richtig! Drei korrekte Wege zum vollständigen Herunterfahren:
shutdown now,poweroff, und der systemd-Wegsystemctl isolate poweroff.target. Alle drei stoppen das System und schalten die Hardware ab.systemctl haltstoppt zwar das System, schaltet die Hardware aber NICHT ab — heute meist unerwünscht.rebootist ein Neustart.✗ Nicht ganz. Richtig sind a) shutdown now, b) poweroff und d) systemctl isolate poweroff.target — alle drei fahren herunter und schalten die Hardware ab.systemctl haltstoppt zwar das System, schaltet die Hardware nicht ab.rebootist ein Neustart. -
Ein laufender
htop-Prozess auf dem Server reagiert nicht mehr auf Tastatureingaben. Du hast seine PID mitpgrep htopzu 8842 ermittelt. Welcher Befehl beendet ihn als ersten, höflichen Versuch?✓ Richtig!kill PID(ohne Optionen) sendetSIGTERM— den höflichen Beendigungs-Aufruf. Der Prozess kann noch aufräumen (Dateien schließen etc.).kill -9istSIGKILL— die Brachialvariante, erst wenn höflich nicht reicht.killallmit-9ist auch zu hart als erster Schritt.terminategibt es nicht.✗ Nicht ganz. Faustregel: erst höflich, dann brutal.kill 8842schicktSIGTERM— der Prozess kann sich aufräumen. Erst wenn das nicht hilft (nach ~5 Sek.), nimmt mankill -9 8842(SIGKILL).terminateexistiert nicht als Befehl. -
Du startest in der Shell einen Backup-Job, der die CPU stark beansprucht. Mit
ps -alfsiehst du, dass er PID 5421 hat und aktuell mit NI=0 läuft. Du willst seinen Niceness-Wert auf +15 hochsetzen, damit andere Prozesse Vorrang haben. Welcher Befehl ist richtig?✓ Richtig!reniceändert die Niceness laufender Prozesse — Syntax:renice WERT -p PID. Hinweis: Für positive Werte (= „höflicher", andere Prozesse bekommen Vorrang) braucht es eigentlich keinsudo— das schadet hier aber nicht. Negative Werte (höhere Priorität) verlangensudo.nice -n 15wäre für einen neuen Prozess; ein-p-Flag kenntnicenicht.kill -15istSIGTERMund beendet den Prozess komplett.✗ Nicht ganz. Für laufende Prozesse istrenicedas Werkzeug. Syntax:renice WERT -p PID.nicekennt kein-p-Flag und funktioniert nur beim Starten eines Prozesses, nicht für laufende.kill -15ist SIGTERM und würde den Prozess beenden, nicht priorisieren. -
Bonus-Frage (optional) — behandelt einen Bonus-Inhalt.
In Terminal A startest du einen Hintergrund-Job:sleep 600 &. In Terminal B (gleicher User, gleicher Server) tippst dujobs. Was siehst du in Terminal B?✓ Richtig!jobszeigt nur Jobs der aktuellen Shell — also nur Hintergrund-Prozesse, die DU in genau dieser Terminal-Session mit&gestartet hast. Terminal B ist eine andere Shell-Session, kennt deshalb die Jobs aus Terminal A nicht. Für eine systemweite Sicht nimmst dups -ef | grep sleep.✗ Nicht ganz.jobsist eine Shell-lokale Liste — nur die Jobs, die in DIESER Shell mit&in den Hintergrund geschickt wurden. Terminal B ist eine andere Shell und sieht deshalb eine leere Liste. Wenn du alle sleep-Prozesse systemweit sehen willst:ps -ef | grep sleep. -
Welche der folgenden Befehle starten ein Linux-System tatsächlich neu? (mehrere richtig möglich)✓ Richtig! Drei korrekte Neustart-Befehle: reboot, shutdown -r now (r = restart), und der systemd-Weg systemctl reboot. init 0 fährt das System herunter (Runlevel 0 = Halt). shutdown -h now fährt herunter (h = halt, nicht reboot).✗ Nicht ganz. Für Neustart:
reboot,shutdown -r now,systemctl reboot. Der Buchstabe-rim shutdown-Befehl steht fürrestart. init 0 und shutdown -h now sind zum Herunterfahren (h = halt, 0 = Halt-Runlevel). -
Du hast ein Bash-Skript
backup.shgeschrieben, aber keine Shebang-Zeile (#!/bin/bash) eingefügt. Du machst es mitchmod +x backup.shausführbar. Was passiert beim Aufruf von./backup.sh?✓ Richtig! Ohne Shebang fällt der Kernel je nach System auf/bin/shzurück (das auf vielen Linux-Distributionen ein Symlink zu Bash ist, aber im POSIX-Modus läuft) — manchmal funktioniert das, manchmal nicht. „Garantiert" ist es nicht: bash-spezifische Syntax (z. B.[[ ... ]], Arrays) kann im POSIX-Modus brechen, andere Distros werfen Fehler. Deshalb: immer mit Shebang anfangen. Alternativ explizit aufrufen mitbash ./backup.sh— dann ist der Interpreter eindeutig.✗ Nicht ganz. Ohne Shebang ist das Verhalten nicht zuverlässig — der Kernel fällt oft auf/bin/shzurück, das im POSIX-Modus läuft. Bash-spezifische Syntax kann dann brechen, andere Distros werfen Fehler. „Garantiert mit Bash" stimmt also nicht — Antwort a) ist zu absolut. Antwort c) (zwingende Fehlermeldung) und d) (automatische Ergänzung) stimmen auch nicht. Best Practice:#!/bin/bashin jede Skript-Datei als Zeile 1.
Wie waren deine Trefferquote? Wenn du 8 von 12 oder mehr richtig hattest, sitzt der Stoff solide. Bei weniger: schau dir die entsprechenden Kapitel nochmal an — die Konzepte sind das Wichtige, nicht die Antwortauswahl auswendig zu lernen.
Wenn du dich gut fühlst: Schau dir das Cheat-Sheet an, drucke es aus, hänge es neben deinen Monitor.
- Q1, Q4 (Boot, GRUB) → Kapitel 01 · Bootprozess
- Q2, Q7, Q11 (Targets, Shutdown, Reboot) → Kapitel 02 · systemd
- Q8, Q9, Q10 (kill, renice, jobs) → Kapitel 03 · Prozesse
- Q3 (dnf update/upgrade) → Kapitel 04 · dnf
- Q5, Q6 (Variablen, export) → Kapitel 05 · Umgebungsvariablen
- Q12 (Shebang) → Kapitel 06 · Skripte