Direct naar de hoofdinhoud
Module 3 · Les 1 van 26/11 in de cursus~15 min
Modulelessen (1/2)

Uitvoer en omleidingen (echo, cat, >)

In Linux lezen bijna alle opdrachten gegevens uit een invoerstroom en schrijven de resultaten naar een uitvoerstroom. Deze kanalen worden standaardstreams genoemd:

  • Standaardinvoer (stdin): de stream waaruit de opdracht de invoer leest (standaard is het toetsenbord).
  • Standaarduitvoer (stdout): de stream waarnaar de opdracht de succesvolle uitvoer schrijft (standaard is het terminalscherm).
  • Standaardfout (stderr): de stream waarnaar de opdracht de foutmeldingen schrijft (standaard is het scherm).

Met behulp van de opdrachtregel kunnen we deze streams omleiden om de resultaten rechtstreeks in bestanden op te slaan.


Tekst afdrukken: echo

Het commando echo schrijft eenvoudigweg zijn argumenten naar de standaarduitvoer (het scherm):

Bash
echo "Hello everyone"

Uitvoer omleiden (overschrijven): >

Als u de uitvoer van een opdracht in een bestand wilt opslaan in plaats van deze op het scherm weer te geven, kunt u de groter-dan-omleidingsoperator > gebruiken:

Bash
echo "Hello everyone" > greetings.txt

Deze opdracht voert echo uit en stuurt de uitvoer door naar het bestand greetings.txt.

[!BELANGRIJK] Als het bestand greetings.txt niet bestaat, wordt het aangemaakt. Als het al bestaat, wordt de bestaande inhoud volledig verwijderd en overschreven met de nieuwe uitvoer.


Bestandsinhoud lezen: cat

Om de inhoud van een of meer tekstbestanden direct te bekijken, gebruikt u de opdracht cat (afkorting van concatenate):

Bash
cat greetings.txt

Uitvoer toevoegen: >>

Als u nieuwe regels wilt toevoegen aan het einde van een bestaand bestand in plaats van het te overschrijven, moet u de toevoegoperator >> gebruiken:

Bash
echo "New line of text" >> greetings.txt

Als u nu het bestand leest met cat greetings.txt, worden zowel de eerste als de tweede regel weergegeven.


Gebruiksvoorbeelden en veelvoorkomende fouten

U kunt meerdere bestanden tegelijkertijd doorgeven aan cat om ze opeenvolgend weer te geven (aaneengeschakeld):

Bash
cat notes.txt info.txt
# Output:
# Keep learning Linux!
# Linux is awesome.

U kunt de gecombineerde uitvoer omleiden naar een derde bestand met behulp van de operator >:

Bash
cat notes.txt info.txt > combined.txt

Als u een bestand probeert te lezen dat niet bestaat, schrijft cat een foutmelding:

Bash
cat nonexistent_file.txt
# Output:
# cat: nonexistent_file.txt: No such file or directory

Probeer het zelf

Oefening 1: Maak een bestand met een begroeting

Oefening#linux.m3.l1.e1
Pogingen: 0Laden…

Maak een bestand met de naam 'hello.txt' dat precies de tekst 'Hello World' bevat met behulp van echo en de operator >.

Editor laden…
Toon hint

Gebruik echo gevolgd door de tekenreeks tussen aanhalingstekens, de operator > en hello.txt.

Oplossing beschikbaar na 3 pogingen

Oefening 2: Notities aan een bestand toevoegen

Oefening#linux.m3.l1.e2
Pogingen: 0Laden…

Voeg de regel 'Linux is fun' toe aan het einde van het bestaande 'notes.txt'-bestand zonder de huidige inhoud te verwijderen.

Editor laden…
Toon hint

Gebruik de operator >> om tekst aan het notes.txt-bestand toe te voegen.

Oplossing beschikbaar na 3 pogingen

Oefening 3: Bestanden aaneenschakelen

Oefening#linux.m3.l1.e3
Pogingen: 0Laden…

Voeg de inhoud van de bestanden 'notes.txt' en 'info.txt' samen en sla de gecombineerde uitvoer op in een nieuw bestand met de naam 'combined.txt'.

Editor laden…
Toon hint

Gebruik cat gevolgd door de namen van de twee bronbestanden en stuur de uitvoer met > om naar het doelbestand.

Oplossing beschikbaar na 3 pogingen