Genoeg van de opdrachtregel
Van plek veranderen
Tot nu toe bleef de shell op één plek. cd verplaatst die.
cd data
pwd
/workspace/data
De shell staat nu binnen data. Voer ls uit en je ziet alleen books.txt. Niet omdat de rest van het project weg is, maar omdat je naar een andere map kijkt.
Terug omhoog
Er is een naam voor “de map hierboven”: twee punten.
cd ..
pwd
/workspace
.. is geen speciale opdracht, maar een naam die je in elk pad kunt gebruiken, net als de echte naam van een map. cd .. betekent één niveau omhoog. ls .. betekent de map erboven bekijken. cd ../.. betekent twee niveaus omhoog.
Relatief en absoluut
Elk pad dat je tot nu toe schreef was relatief: het begint waar je op dat moment staat. data/books.txt betekent “ga van hier naar data en neem dan books.txt”. Ga je ergens anders staan, dan wijst dezelfde tekst naar iets anders of naar helemaal niets.
Een absoluut pad begint bovenaan het bestandssysteem en is daarom overal hetzelfde. Op deze computer is het hoogste punt /, dus het absolute pad naar de leeslijst is:
cat /workspace/data/books.txt
Je kunt dat overal typen en hetzelfde bestand krijgen. Je herkent het aan de / aan het begin.
Je eigen computer werkt hetzelfde als de terminal hier. Absolute paden beginnen bij / en je bestanden staan ergens onder /Users/ en je gebruikersnaam.
Voer op je eigen computer cd / en daarna ls uit om het hoogste niveau van het bestandssysteem te zien, van waaruit de paden in deze cursus worden bepaald.
Windows schrijft absolute paden anders: ze beginnen met een stationsletter, zoals C:\Users\you\projects, en gebruiken backslashes tussen de stappen.
PowerShell accepteert ook slashes, dus cd data/notes werkt daar eveneens. Het idee is hetzelfde: een pad vanaf het hoogste niveau van het station in plaats van vanaf de plek waar je staat.
Je eigen computer werkt hetzelfde als de terminal hier. Absolute paden beginnen bij / en je bestanden staan ergens onder /home/ en je gebruikersnaam.
Voer op je eigen computer cd / en daarna ls uit om het hoogste niveau van het bestandssysteem te zien, van waaruit de paden in deze cursus worden bepaald.
Beide soorten zijn nuttig en de ene is niet juister dan de andere. Relatieve paden zijn kort en blijven werken als je de betrokken bestanden en mappen samen verplaatst. Absolute paden zijn ondubbelzinnig en werken ongeacht waar de shell staat. Kan een opdracht een bestand niet vinden, dan is een absoluut pad de snelste manier om te ontdekken of het bestand ontbreekt of jij ergens anders staat.
Computer Fundamentals behandelt hetzelfde met meer voorbeelden, waaronder de afkorting ~ voor je persoonlijke map en stationsletters op Windows:
Waarom mensen hierover struikelen
Bijna elk “bij jou werkt het wel, bij mij niet”-probleem dat een beginner in de terminal tegenkomt gaat over de werkmap. Het bestand is er. De opdracht klopt. De shell staat ergens anders.
pwd en ls, in die volgorde, geven vrijwel altijd het antwoord.
Je staat in /workspace en cat data/books.txt werkt. Daarna voer je cd data uit. Wat gebeurt er als je opnieuw cat data/books.txt uitvoert?
Hierna: iets van jezelf maken vanuit de terminal.