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:
Beginne an der Laufwerkswurzel
C:\.Gehe in
Users.Dann in
Sam, dann inDocuments, dann infield-notes.Dann in
data.Halte bei der Datei
observations.csvan.
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.csvbetrittdatazweimal. Das fällt nicht beim Überfliegen der ganzen Zeichenfolge auf, sondern beim Nachgehen des Wegs.Abweichender Name.
observation.csvundobservations.csvsind verschiedene Dateien. Manche verbreiteten Dateisysteme ignorieren standardmäßig Groß- und Kleinschreibung. Andere unterscheidenReport.txtundreport.txt. Übernimm die sichtbare Schreibweise und Großschreibung genau, damit derselbe Pfad an beiden Orten funktioniert.Ausgeblendete Endung. Eine als
observations.csvangezeigte Datei könnte tatsächlichobservations.csv.txtheiß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?