0%

Bestanden, mappen en paden

Mappen vormen een boom

Een bestandsnaam onderscheidt één item van zijn buren. Om het op een hele computer terug te vinden, moet je ook weten in welke directory het staat. Grafische bestandsbeheerders noemen directories mappen. Die woorden betekenen hetzelfde; in het Engels kom je voortdurend zowel directory als folder tegen.

Hier is een klein project met de naam field-notes. Dat gebruiken we de rest van het hoofdstuk:

field-notes/
├── README.txt
├── report.py
├── data/
│   ├── observations.csv
│   └── raw/
│       └── monday.txt
└── drafts/
    └── outline.txt

De slashes achteraan geven aan dat field-notes, data, raw en drafts mappen zijn. De rest is een bestand. Inspringing toont wat waarin staat: monday.txt staat in raw, in data, in field-notes.

Familiewoorden beschrijven posities

Mapbomen lenen woorden uit familierelaties, omdat die de verbanden duidelijk beschrijven:

  • data is de bovenliggende map (parent) van observations.csv en raw.

  • observations.csv en raw zijn onderliggende items (children) van data.

  • README.txt, report.py, data en drafts zijn items op hetzelfde niveau (siblings): ze delen één bovenliggende map.

  • field-notes is een voorouder (ancestor) van monday.txt: het bestand is via andere mappen daaronder te bereiken.

Een map kan zowel bestanden als andere mappen bevatten. Een bestand bevat helemaal geen onderliggende items. Daardoor vormt dit een boom in plaats van een kluwen.

Eén gevolg verrast mensen: twee bestanden kunnen dezelfde naam hebben zolang ze in verschillende bovenliggende mappen staan. data/monday.txt en drafts/monday.txt zijn twee afzonderlijke bestanden. Daar is niets mis mee. Daarom is “ik weet dat het monday.txt heet” ook niet genoeg informatie om iets te vinden.

Welke uitspraak klopt volgens de boom hierboven?

Root en home zijn verschillende plaatsen

Elke boom heeft een top. Dat is de root, oftewel de wortel.

Windows duidt de root van een station aan met een letter en een backslash: C:\. Elk extra station krijgt een eigen root: D:\, E:\. Unix-achtige systemen, waaronder macOS en Linux, hebben precies één root, geschreven als /. Alles hangt daaronder.

Je persoonlijke map (home directory) is je eigen gebied binnen die grotere boom:

Windows: C:\Users\Sam
macOS:   /Users/sam
Linux:   /home/sam

Home is geen ander woord voor root. Die twee verwarren zorgt later voor echte problemen. C:\Users\Sam staat onder C:\. /home/sam staat onder /. Home is een plek van jou, enkele niveaus lager. Root is de top van alles, waarvan het meeste niet van jou is en niet aangepast moet worden.

Lees een Unix-achtige locatie als een route naar beneden door de boom. Elke naam na / gaat de volgende onderliggende map in. /home/sam betekent dus sam binnen home, onder de root.

Zet deze Linux-locaties op volgorde, vanaf de top van de boom naar beneden:

Sleep de opties in de juiste volgorde of gebruik de pijlknoppen.

  • /home/sam

  • /home/sam/Documents/field-notes

  • /

  • /home/sam/Documents

  • /home

Als een bestand verdwenen lijkt

Gebruik de boom voordat je aanneemt dat iets is verwijderd. Controleer welke bovenliggende map de bestandsbeheerder werkelijk toont. Klap steeds één voorouder uit, in plaats van blind te zoeken. Zoek naar een map met dezelfde naam onder een andere bovenliggende map; dat is meestal wat er aan de hand is.

De meeste ontbrekende bestanden blijken helemaal niet weg te zijn. Je keek naar de verkeerde tak van de boom.

De boom vertelt waar iets staat. Hierna schrijven we die positie als tekst op, want zo wil software het hebben.