0%

Dateien, Ordner und Pfade

Einen Pfad Stück für Stück lesen

Ein Baum ist leicht zu lesen, wenn ihn jemand für dich zeichnet. Software bekommt keine Zeichnung. Sie bekommt eine Textzeile, die den gesamten Weg enthalten muss.

Dieser aufgeschriebene Weg ist ein Pfad.

Hier ist der Weg zu observations.csv auf einem Windows-Computer:

C:\Users\Sam\Documents\field-notes\data\observations.csv

Von links nach rechts gelesen ist er eine Wegbeschreibung:

  1. Beginne an der Laufwerkswurzel C:\.

  2. Gehe in Users.

  3. Dann in Sam, dann in Documents, dann in field-notes.

  4. Dann in data.

  5. Halte bei der Datei observations.csv an.

Jeder benannte Schritt ist ein Pfadsegment. Windows trennt die Segmente üblicherweise mit einem umgekehrten Schrägstrich, einem Backslash.

Dasselbe Projekt unter Linux:

/home/sam/Documents/field-notes/data/observations.csv

Der erste / bezeichnet die Dateisystemwurzel. Die übrigen trennen die Segmente home, sam, Documents, field-notes, data und observations.csv.

Und unter macOS:

/Users/sam/Documents/field-notes/data/observations.csv

Die drei Schreibweisen unterscheiden sich, die Überlegung dahinter nicht: Finde den Startpunkt und folge dann einem Segment nach dem anderen bis zum Ziel.

Trennzeichen gehören nicht zum Namen

Ein Trennzeichen markiert eine Grenze. Es gehört zu keinem der Nachbarn. Das Windows-Verzeichnis in diesem Pfad heißt data, nicht \data und nicht data\.

Segmente können Leerzeichen, Bindestriche und Punkte enthalten. In diesem Pfad ist project notes.txt ein einzelner Dateiname mit einem Leerzeichen in der Mitte:

C:\Users\Sam\Documents\field-notes\project notes.txt

Merk dir diesen Fall. In einer Shell verursacht dieses Leerzeichen echte Probleme. Anführungszeichen lösen sie. Sie helfen der Shell, die Zeile richtig aufzuteilen, und gehören niemals zum Dateinamen.

Welcher Eintrag ist ein einzelnes Pfadsegment in /home/sam/Documents/field-notes/data/observations.csv?

Prüfe einen Pfad, bevor du etwas änderst

„Dieser Pfad existiert nicht“ ist eine der häufigsten Meldungen, denen du begegnen wirst. Die spontane Reaktion darauf ist meistens falsch. Menschen fügen Schrägstriche hinzu oder verschieben Dateien und machen aus einem Problem drei.

Vergleiche den Pfad Segment für Segment mit dem Baum und achte auf diese fünf Punkte:

  • Falscher Startpunkt. C:\ und / sind verschiedene Welten. Ein in eine macOS-Anwendung eingefügter Windows-Pfad benennt dort gar nichts.

  • Fehlendes oder wiederholtes Segment. field-notes\data\data\observations.csv betritt data zweimal. Das fällt nicht beim Überfliegen der ganzen Zeichenfolge auf, sondern beim Nachgehen des Wegs.

  • Abweichender Name. observation.csv und observations.csv sind verschiedene Dateien. Manche verbreiteten Dateisysteme ignorieren standardmäßig Groß- und Kleinschreibung. Andere unterscheiden Report.txt und report.txt. Übernimm die sichtbare Schreibweise und Großschreibung genau, damit derselbe Pfad an beiden Orten funktioniert.

  • Ausgeblendete Endung. Eine als observations.csv angezeigte Datei könnte tatsächlich observations.csv.txt heißen.

  • Falsches Trennzeichen. Windows zeigt \, Unix verwendet /. Manche Windows-Werkzeuge akzeptieren beides. Das ist eine Erleichterung, kein Grund, Pfade wahllos umzuschreiben.

Finde das erste Segment, das nicht zum Baum passt. Alles dahinter ist unerreichbar. Nur dieses Segment lohnt sich zu korrigieren.

Der Baum besteht aus field-notes/, darin data/, darin raw/. Eine Anwendung meldet, dass sie field-notes/data/raw/notes/monday.txt nicht öffnen kann. Welches Segment solltest du zuerst untersuchen?

Du kannst jetzt auf allen drei Plattformen zwischen einem Baum und einer geschriebenen Wegbeschreibung wechseln. Eine Frage bleibt offen, und sie ist enorm wichtig: Beginnt ein Pfad an einer Wurzel oder dort, wo du gerade stehst?