0%

Die Befehlszeile · Übung

Vor jeder Änderung nachsehen

Navigation bringt dich zu einem Pfad. Sie sagt nicht, was dort liegt. Ein Pfad kann eine Datei, ein Verzeichnis oder gar nichts benennen.

Bevor du etwas kopierst, verschiebst oder löschst, brauchst du zwei Fakten: Ist das eine Datei oder ein Verzeichnis, und was steckt darin? Diese Lektion beantwortet beides und schließt den Kreis, indem du eine eigene Datei schreibst. Dadurch können alle späteren Übungen Belege hinterlassen.

Eine Datei von einem Verzeichnis unterscheiden

ls -1F

Hier arbeiten zwei Optionen. -1 enthält die Ziffer Eins und verlangt einen Eintrag pro Zeile statt Spalten. -F fügt bestimmten Eintragsarten eine Markierung hinzu. Ein abschließender / bedeutet Verzeichnis:

README.md
checkpoint/
data/
destination/
environment-check.py
notes with spaces.txt
report.py

Die Namen haben sich nicht verändert. -F fügt nur die Markierungen hinzu. Du kannst außerdem in ein Verzeichnis hineinsehen, ohne hineinzuwechseln. Wenn du nur prüfst, ist das meistens genau richtig:

ls -1 data

Eine kurze Datei lesen

cat data/README.txt

Ein Pfad mit Leerzeichen braucht Anführungszeichen. Sonst übergibt die Shell cat drei getrennte Argumente statt eines Dateinamens:

cat "notes with spaces.txt"

Lesen ist auf beiden Wegen eine Form des Nachsehens, keine Bearbeitung. Die Datei bleibt genau, wie sie war. Ausführliche Berechtigungsspalten und Pipelines sind später nützlich. Für die beiden heutigen Fragen brauchst du sie nicht: Was benennt dieser Pfad, und was steht in dieser Datei?

Eine Datei aus der Shell schreiben

Festzuhalten, was du gefunden hast, ist die andere Hälfte des Prüfens. Jede bewertete Übung verlangt ab jetzt Belege. So hinterlässt du sie.

echo "north: 12" > reading.txt
echo "south: 9" >> reading.txt
cat reading.txt

echo gibt aus, was du ihm übergibst. > leitet diesen Text statt auf den Bildschirm in eine Datei um. Keiner der beiden Befehle hat etwas auf dem Bildschirm ausgegeben, weil der Text in die Datei statt zu dir ging.

Verwende > bewusst. Es erstellt die Datei, falls sie fehlt, und ersetzt den gesamten Inhalt, falls sie bereits existiert, ohne Warnung und ohne Rückgängig-Funktion. Verwende >>, um eine Zeile anzuhängen. Einmal > zum Beginnen einer Datei, dann >> für jede weitere Zeile.

Übung: Nachsehen und die Ergebnisse festhalten

Bewertet wird der Arbeitsbereich, beginnend bei /workspace. Verwende zuerst Reset, falls ein früherer Versuch destination/inspection.txt hinterlassen hat.

  1. Bestätige, dass du bei /workspace bist.

  2. Liste den Arbeitsbereich auf und bestimme, welche Einträge Verzeichnisse sind.

  3. Liste data auf und bestätige, dass der vorbereitete Baum README.txt und measurements.txt enthält.

  4. Lies data/README.txt und notiere den Wert nach marker-name:.

  5. Lies notes with spaces.txt mit dem Pfad in Anführungszeichen.

  6. Schreibe deine Ergebnisse in eine neue Datei unter destination/inspection.txt. Sie braucht zwei Zeilen: zuerst den Markierungswert aus Schritt 4, danach die Anzahl der Einträge aus Schritt 3.

  7. Lies destination/inspection.txt zurück und prüfe beide Zeilen, bevor du abgibst.

Bearbeite, verschiebe oder lösche keine bereitgestellte Datei. Die Prüfung verlangt destination/inspection.txt und überprüft, dass die bereitgestellten Belegdateien unverändert bleiben. Verwende zuerst Reset, damit fremde Überreste deine eigene Untersuchung nicht verwirren.

Wenn die beiden Zeilen in falscher Reihenfolge stehen, versuche nicht, die Datei auszubessern. Schreibe sie von Anfang an neu und ersetze alles. Das ist der eine Fall, in dem Überschreiben die einfache statt der gefährlichen Lösung ist.

Warum muss der Pfad beim Lesen von notes with spaces.txt in Anführungszeichen stehen?

Eine Datei log.txt enthält bereits eine Zeile. Du schreibst eine neue Zeile mit dem Befehl hinein, der eine Datei von Anfang an beginnt. Was enthält sie danach?

Du kannst eine Datei von einem Verzeichnis unterscheiden, eine Datei lesen und eine schreiben. Diese letzte Fähigkeit macht den Rest des Kapitels möglich: Ab jetzt kann jede Übung aussagekräftige Belege hinterlassen statt nur etwas, das existiert.