0%

De opdrachtregel · oefening

Bekijk wat er staat voordat je iets verandert

Navigeren brengt je naar een pad. Het vertelt je niet wat daar staat: een pad kan verwijzen naar een bestand, een map of helemaal niets.

Voordat je iets kopieert, verplaatst of verwijdert, wil je twee dingen weten: is dit een bestand of een map, en wat staat erin? Deze les beantwoordt beide vragen en maakt de cirkel rond door een eigen bestand te schrijven. Daarmee kan elke volgende oefening bewijs achterlaten.

Onderscheid een bestand van een map

ls -1F

Daar werken twee opties samen. -1 is het cijfer één en vraagt om één item per regel in plaats van kolommen. -F voegt een markering toe aan bepaalde soorten items. Een / achteraan betekent dat het een map is:

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

De namen zijn niet veranderd. -F voegt alleen de markeringen toe. Je kunt ook in een map kijken zonder ernaartoe te gaan. Dat is meestal wat je wilt als je alleen iets controleert:

ls -1 data

Lees een kort bestand

cat data/README.txt

Een pad met spaties heeft aanhalingstekens nodig. Anders geeft de shell cat drie afzonderlijke argumenten in plaats van één bestandsnaam:

cat "notes with spaces.txt"

In beide gevallen is lezen een manier van kijken, geen manier van bewerken. Het bestand blijft precies zoals het was. Uitgebreide rechtenkolommen en pipelines zijn later nuttig, maar je hebt ze niet nodig voor de twee vragen van vandaag: waarnaar verwijst dit pad en wat staat er in dat bestand?

Schrijf een bestand vanuit de shell

Vastleggen wat je hebt gevonden is de andere helft van inspecteren. Vanaf hier vraagt elke beoordeelde oefening om bewijs. Zo laat je dat achter.

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

echo toont wat je opgeeft en > stuurt die tekst naar een bestand in plaats van naar het scherm. Geen van beide opdrachten toonde iets, omdat de tekst naar het bestand ging in plaats van naar jou.

Gebruik > bewust. Het maakt het bestand als dat ontbreekt en vervangt de volledige inhoud als het al bestaat, zonder waarschuwing en zonder ongedaan maken. Gebruik >> om een regel toe te voegen aan wat er al staat. Gebruik één keer > om een bestand te beginnen en >> voor elke volgende regel.

Oefening: bekijk wat er staat en leg je bevindingen vast

Deze oefening wordt beoordeeld op basis van de werkruimte en begint in /workspace. Gebruik eerst Reset als een eerdere poging destination/inspection.txt heeft achtergelaten.

  1. Controleer of je in /workspace staat.

  2. Vraag de inhoud van de werkruimte op en herken welke items mappen zijn.

  3. Vraag de inhoud van data op en controleer of de meegeleverde structuur README.txt en measurements.txt bevat.

  4. Lees data/README.txt en noteer de waarde na marker-name:.

  5. Lees notes with spaces.txt, met het pad tussen aanhalingstekens.

  6. Schrijf je bevindingen in een nieuw bestand op destination/inspection.txt. Het moet twee regels bevatten: eerst de markeringswaarde uit stap 4 en daarna het aantal items dat je in stap 3 telde.

  7. Lees destination/inspection.txt terug en controleer beide regels voordat je je werk indient.

Bewerk, verplaats of verwijder geen enkel meegeleverd bestand. De beoordeling vereist destination/inspection.txt en controleert of de meegeleverde bewijsbestanden ongewijzigd zijn. Gebruik eerst Reset, zodat andere restanten je eigen inspectie niet verwarren.

Staan de twee regels in de verkeerde volgorde, probeer het bestand dan niet bij te werken. Schrijf het opnieuw vanaf het begin en vervang de hele inhoud. Dit is het ene moment waarop overschrijven de eenvoudige oplossing is in plaats van de gevaarlijke.

Waarom moet het pad tussen aanhalingstekens staan om notes with spaces.txt te lezen?

Een bestand log.txt bevat al één regel. Je schrijft er een nieuwe regel in met de opdracht die een bestand vanaf het begin schrijft. Wat staat er daarna in?

Je kunt een bestand van een map onderscheiden en een bestand lezen en schrijven. Die laatste vaardigheid maakt de rest van het hoofdstuk mogelijk: vanaf hier kan elke oefening bewijs achterlaten dat iets vertelt, in plaats van bewijs dat alleen bestaat.