Alles zusammenführen · Abschlussprojekt
Abschlussprojekt: Einen Projektarbeitsbereich aufbauen und prüfen
Dieses Abschlussprojekt ist eine kleine Systemaufgabe, kein Gedächtnistest für Befehle. Du liest einen bereitgestellten Arbeitsbereich, planst zwei Änderungen, führst sie sicher aus, startest das bereitgestellte Programm und hinterlässt Belege, die jemand anderes prüfen kann, ohne dir bei der Arbeit zuzusehen.
Das Terminal neben dieser Lektion folgt deiner Kontoeinstellung: Windows öffnet PowerShell Core, macOS und Linux öffnen Bash. Die Befehle unterscheiden sich. Beide gehosteten Wege arbeiten aber in /workspace und müssen dasselbe geprüfte Ergebnis hinterlassen.
Ausgangszustand und Wiederherstellung
Setze vor dem Beginn den Kapitelarbeitsbereich zurück. Der Ausgangsbaum ist:
/workspace
├── README.md
├── report.py
├── data
│ └── README.txt
├── destination
│ └── README.txt
├── evidence
│ └── safety-check.txt
└── notes with spaces.txt
README.md, report.py und data/README.txt sind bereitgestellt und müssen unverändert erhalten bleiben. Das Ausführen von report.py aus /workspace gibt Workspace report: ready aus. Reset stellt genau diesen Baum wieder her. Das ist dein Rückweg, wenn die Struktur keinen Sinn mehr ergibt.
Vor Zustandsänderungen planen
Dein fertiger Arbeitsbereich muss drei neue oder abgeschlossene Ergebnisse enthalten:
ein Verzeichnis
notesmitproject-plan.txt, verschoben und umbenannt ausnotes with spaces.txt;destination/data-copy.txt, kopiert ausdata/README.txt, wobei das Original an seinem Ort bleibt;eine ausgefüllte Datei
evidence/safety-check.txt, die festhält, was du vor jeder Verschiebung geprüft hast.
Die vorbereitete Datei evidence/safety-check.txt zeigt vier leere Felder. Lies sie zuerst mit Get-Content -LiteralPath ./evidence/safety-check.txt in PowerShell oder cat evidence/safety-check.txt in Bash.
Sieh vor dem Verschieben sowohl die Quelle als auch das geplante Ziel an. Die Quelle sollte existieren, das Ziel nicht. Ersetze dann die Vorlage durch genau vier Zeilen der Form key=value:
source=<move source>
destination=<move destination>
source_present=<yes or no>
destination_absent=<yes or no>
Verwende Pfade relativ zu /workspace, ohne führendes ./. Trage yes oder no in Kleinbuchstaben ein. Das ist bewusst ein eng vorgegebener Nachweis, kein Schreibwettbewerb. Die interessante Arbeit besteht darin, die Beobachtungen vor dem Ausfüllen zu machen.
Aufbauen und prüfen
Bestimme die Befehlsfolge selbst. Hier ist das Vokabular des Wegs, keine fertige Lösung.
Verwende Get-Location, Get-Item, Get-ChildItem, Get-Content, Set-Content, Add-Content, New-Item -ItemType Directory, Move-Item, Copy-Item und python. Verwende für den Dateinamen mit Leerzeichen -LiteralPath.
Verwende pwd, ls, cat, echo mit > und >>, mkdir, mv, cp und python. Setze den Dateinamen mit Leerzeichen in Anführungszeichen.
Verwende pwd, ls, cat, echo mit > und >>, mkdir, mv, cp und python. Setze den Dateinamen mit Leerzeichen in Anführungszeichen.
Dein Plan braucht drei Phasen: orientieren und vorher ansehen; die Vorprüfung vor der Änderung festhalten; dann aufbauen, prüfen und ausführen. Die Anforderungen an Quelle und Ziel oben bestimmen die einzelnen Befehle. Wenn du einen breiten Platzhalter oder eine erzwingende Option tippen willst, halte an. Das Abschlussprojekt braucht beides nicht.
Führe in diesem Abschlussprojekt keinen Löschbefehl aus. Das Verschieben sollte den alten Pfad verschwinden lassen. Etwas anderes zu löschen würde nur Risiko hinzufügen, keine Belege.
Was Check my work überprüft
Die Prüfung liest den resultierenden Zustand, nicht deine Terminalhistorie. Jede sichere Folge besteht, solange diese Fakten danach stimmen:
README.md,report.pyunddata/README.txtenthalten weiterhin ihren bereitgestellten Text.notes/project-plan.txtenthält den ursprünglichen Notiztext.notes with spaces.txtist aus der Wurzel des Arbeitsbereichs verschwunden, weil die Datei verschoben statt kopiert wurde.destination/data-copy.txtstimmt mitdata/README.txtüberein, unddestination/README.txtist weiterhin vorhanden.evidence/safety-check.txtenthält die vier exakt vorgegebenen Vorprüfungsfelder für Quelle, Ziel und yes/no.Das Ausführen des bereitgestellten Programms aus
/workspacegibtWorkspace report: readyaus.
Untersuche den Baum vor der Abgabe selbst. Wenn unerwartete Pfade aufgetaucht sind und du nicht sicher weißt, was sich geändert hat, setze zurück und beginne neu, statt einen umfassenden Aufräumbefehl zu verwenden.
Ein Teammitglied verwendet eine andere sichere Befehlsfolge. Welche Belege machen sein Ergebnis ebenso vertrauenswürdig?
Warum sollst du die Belegdatei im Abschlussprojekt vor dem Verschieben schreiben statt danach?
Du hast etwas geschaffen, das jemand anderes ohne eine einzige Rückfrage prüfen könnte: einen geordneten Baum, unveränderte Eingaben, ein laufendes Programm und einen schriftlichen Nachweis der Prüfung vor jeder Änderung. Die letzte Lektion fragt dich, wie die ganze Maschine das möglich gemacht hat.