Die Befehlszeile · Übung
Durch einen Projektbaum navigieren
Wenn ein Befehl eine Datei nicht findet, liegt sie meistens genau dort, wo sie immer lag. Du stehst woanders.
Drei Fragen sind sinnvoll, in dieser Reihenfolge: Wo bin ich, was ist hier, und wohin soll ich gehen? Jede Shell beantwortet alle drei. Nur die Schreibweise ändert sich.
Falls du aus einem anderen Kurs hierhergekommen bist
Das Terminal neben dieser Lektion enthält ein Übungsprojekt auf einem getrennten Computer. Sein Startverzeichnis ist /workspace. Das sind nicht die Dateien auf deinem eigenen Computer. Verwende dieses gehostete Terminal für die bewertete Übung unten.
Bevor du beginnst, musst du das aktuelle Verzeichnis anzeigen und von dort einen relativen Pfad auflösen können. Falls dir eines davon unbekannt ist, nutze diese beiden Lektionen und kehre dann zurück. Die erste erklärt das Öffnen des Terminals und die Ortsprüfung. Die zweite erklärt /, . und .. anhand eines ausgearbeiteten Verzeichnisbaums.
Was ist hier?
Du weißt bereits, wie du nach deinem Ort fragst. Als Nächstes listest du auf, was um dich herum liegt:
Get-ChildItem
ls
ls
Ein frischer Kapitelarbeitsbereich enthält Folgendes:
/workspace
├── README.md
├── checkpoint/
├── data/
│ ├── README.txt
│ └── measurements.txt
├── destination/
├── environment-check.py
├── notes with spaces.txt
└── report.py
Wohin soll ich gehen?
Das Verzeichnis zu wechseln braucht einen Befehl. Die wichtige Gewohnheit ist, danach zu prüfen statt anzunehmen:
Set-Location -Path ./data
Get-Location
cd data
pwd
cd data
pwd
Dieses Ziel ist ein relativer Pfad. Es wurde deshalb von deinem bisherigen Ort aus aufgelöst. Alles, was du im vorigen Kapitel auf Papier erarbeitet hast, gilt unverändert: Zwei Punkte bezeichnen das Elternverzeichnis, ein führender Schrägstrich beginnt an der Dateisystemwurzel, und eine Tilde steht für dein persönliches Verzeichnis. Die Shell ist einfach der erste Ort, an dem diese Regeln sichtbar etwas bewirken.
Zum Zurückgehen verwendest du das Elternverzeichnis:
Set-Location -Path ..
Get-Location
cd ..
pwd
cd ..
pwd
Ein absoluter Pfad bedeutet von überall aus dasselbe. Hier ist das /workspace. Auf deinem eigenen Computer könnte es C:\Users\Sam\project oder /home/sam/project sein. Kopiere niemals einen Beispielbenutzernamen. Frag nach deinem Ort und nutze die Antwort der Shell.
Hinterlasse einen Beleg
Bisher haben wir nur nachgesehen. Die bewertete Prüfung kann nicht sehen, wohin deine Shell zuvor gereist ist. Deshalb hinterlässt du am Ziel ein Verzeichnis als Beleg dafür, dass dein relativer Pfad richtig aufgelöst wurde. Der Erstellungsbefehl wird hier vorgegeben. Den Weg zu ermitteln ist die Aufgabe.
New-Item -ItemType Directory -Path ./example-directory
New-Item erstellt einen Dateisystemeintrag. -ItemType Directory macht den beabsichtigten Typ deutlich. Der Befehl gibt eine Beschreibung des erstellten Eintrags zurück. Liste das Elternverzeichnis als getrennte Prüfung auf.
mkdir example-directory
mkdir ist kurz für „make directory“, also Verzeichnis erstellen. Bei Erfolg gibt es normalerweise nichts aus. Liste deshalb das Elternverzeichnis als getrennte Prüfung auf.
mkdir example-directory
mkdir ist kurz für „make directory“, also Verzeichnis erstellen. Bei Erfolg gibt es normalerweise nichts aus. Liste deshalb das Elternverzeichnis als getrennte Prüfung auf.
Das Erstellen verändert den Baum. Verwende deshalb vor der Übung Reset, falls du das Beispiel ausgeführt hast. Liste nach deinem eigentlichen Befehl das Elternverzeichnis auf und bestätige, dass die Markierung am beabsichtigten Ort liegt.
Übung: Eine Markierung über einen relativen Pfad hinterlassen
Im vorigen Kapitel hast du relative Pfade auf Papier aufgelöst: deinen Ort notieren, jedes Segment durchgehen, bei .. nach oben gehen und das Ziel prüfen. Jetzt bleibt es nicht mehr auf Papier. Die Shell steht an einem bestimmten Ort. Ein Pfad vom falschen Startpunkt landet an einem echten, falschen Ort.
Diese Übung wird anhand des Arbeitsbereichs bewertet. Verwende zuerst Reset, falls ein früherer Versuch destination/navigation-complete hinterlassen hat.
Bestätige, dass du bei
/workspacebist.Liste das Verzeichnis auf und prüfe, ob
dataunddestinationbeide vorhanden sind.Wechsle in
dataund bestätige deine Ankunft.Erstelle von
dataaus ohne absoluten Pfad ein Verzeichnis namensnavigation-completeim Geschwisterordnerdestination. Du brauchst.., um zuerst ausdataherauszugehen.Kehre zu
/workspacezurück und listedestinationauf, umnavigation-completedort zu bestätigen.
Schritt 4 ist die ganze Lektion in einem Befehl. Du musst deinen Standort kennen, bevor du einen relativen Pfad zu einem anderen Ort schreiben kannst. Der Abschnitt oben hat den Befehl an einem entbehrlichen Beispiel gezeigt. Den Pfad von data zu seinem Geschwisterverzeichnis ermittelst du selbst.
Lass alle bereitgestellten Dateien an ihrem Ort und bleibe innerhalb von /workspace. Die Prüfung verlangt das Markierungsverzeichnis und überprüft wichtige bereitgestellte Dateien. Verwende zuerst Reset, damit fremde Überreste deine eigene Auflistung nicht unübersichtlich machen. Klicke dann auf Check my work.
Du bist in /workspace/data und wechselst zu ../checkpoint. Wo landest du?
Du erstellst ein Verzeichnis, und der Befehl gibt nichts aus. Was tust du als Nächstes?
Du kannst deinen Ort finden, deine Umgebung ansehen und gezielt wechseln. Vor jeder Änderung musst du aber wissen, auf welche Art von Eintrag du zeigst.