Standaardstromen en omleiding
Leer meer over stdin, stdout en stderr en hoe u deze omleidt met `|`, `>`, `>>` en `<`.
Standaardstromen en omleiding is een gratis Beheersing van de Linux-opdrachtregel-les op CoddyKit. Dit is les 1 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Beheersing van de Linux-opdrachtregel. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Beheersing van de Linux-opdrachtregel bevat in totaal 4 lessen.
Wat zijn standaardstromen?
In de Linux-terminal communiceren opdrachten via 'standaardstromen'. Zie ze als standaardkanalen waarlangs gegevens een programma in- en uitstromen.
- Standaardinvoer (stdin): waar een opdracht zijn invoer vandaan haalt (meestal het toetsenbord).
- Standaarduitvoer (stdout): waar een opdracht zijn normale resultaten naartoe stuurt (meestal het scherm).
- Standaardfoutuitvoer (stderr): waar een opdracht zijn foutmeldingen naartoe stuurt (meestal het scherm).
Met deze stromen bepaal je hoe opdrachten met elkaar communiceren!
Standaarduitvoer (`stdout`)
Wanneer een opdracht succesvol wordt uitgevoerd en een resultaat oplevert, wordt dat resultaat naar de standaarduitvoer gestuurd. Standaard wordt stdout rechtstreeks op je terminalscherm weergegeven.
Wanneer je bijvoorbeeld de opdracht echo gebruikt, gaat de uitvoer ervan naar stdout.
`stdout` omleiden (overschrijven)
Het symbool > (groter dan) wordt gebruikt om de standaarduitvoer van het scherm naar een bestand om te leiden. Als het bestand niet bestaat, wordt het gemaakt. Als het al bestaat, wordt de inhoud overschreven!
Dit is handig om opdrachtresultaten voor later op te slaan.
Voorbeeld van `stdout` overschrijven
Voer dit voorbeeld uit. Let op dat de uitvoer van de opdracht echo niet op het scherm wordt weergegeven, maar wordt opgeslagen in message.txt. Vervolgens geeft cat de inhoud van het bestand weer.
echo "Hello CoddyKit!" > message.txt
cat message.txt`stdout` omleiden (toevoegen)
Wat als je uitvoer aan een bestand wilt toevoegen zonder de bestaande inhoud te verwijderen? Daarvoor gebruik je >>!
De operator >> (twee keer groter dan) leidt de standaarduitvoer om naar een bestand en voegt de nieuwe inhoud aan het einde van het bestand toe.
Voorbeeld van `stdout` toevoegen
Laten we nog een regel toevoegen aan ons bestand message.txt zonder de eerste regel te verliezen. Voer de code uit en bekijk de uitvoer van de laatste opdracht cat.
echo "Hello CoddyKit!" > message.txt
echo "Welcome to Linux!" >> message.txt
cat message.txtStandaardinvoer (`stdin`)
Standaardinvoer is het kanaal waarlangs een opdracht gegevens ontvangt. Standaard komt stdin van je toetsenbord: je typt opdrachten of invoerwaarden rechtstreeks.
Sommige opdrachten zijn ontworpen om invoer te verwerken die je opgeeft of die uit een andere bron komt.
Invoer omleiden met `<`
Met het symbool < (kleiner dan) kun je de standaardinvoer omleiden vanuit een bestand in plaats van het toetsenbord. Dit is bijzonder handig om gegevens uit een bestand door te geven aan een opdracht die invoer verwacht.
De opdracht verwerkt de inhoud van het bestand vervolgens alsof je die had getypt.
Voorbeeld van invoer uit een bestand
De opdracht wc -l telt regels. Hier maken we een bestand en gebruiken we vervolgens < om wc -l de invoer rechtstreeks uit dat bestand te laten lezen.
echo "Line 1" > mydata.txt
echo "Line 2" >> mydata.txt
wc -l < mydata.txtStandaardfoutuitvoer (`stderr`)
Wanneer een opdracht een probleem of fout tegenkomt, stuurt deze diagnostische berichten naar de standaardfoutuitvoer. Net als stdout wordt stderr standaard meestal op je scherm weergegeven.
Door stderr gescheiden te houden van stdout, kun je fouten gemakkelijker herkennen.
`stderr` omleiden met `2>`
Om de standaardfoutuitvoer naar een bestand om te leiden, gebruik je de bestandsdescriptor 2, gevolgd door de omleidingsoperator: 2>.
Zo kun je foutmeldingen vastleggen in een logbestand en je hoofdoutput overzichtelijk houden. Je kunt stdout en stderr ook naar hetzelfde bestand omleiden met &> of > file 2>&1.
Voorbeeld van foutomleiding
Laten we proberen een map weer te geven die niet bestaat. We leiden de foutmelding om naar een bestand met de naam errors.log.
ls non_existent_dir 2> errors.log
cat errors.logOpdrachten koppelen met pipes (`|`)
Het symbool | (pipe) is een van de krachtigste functies van de Linux-shell. Het verbindt de standaarduitvoer (stdout) van de ene opdracht rechtstreeks met de standaardinvoer (stdin) van een andere opdracht.
Zo kun je complexe gegevensverwerkingspijplijnen maken door eenvoudige opdrachten aan elkaar te koppelen.
Pipe-voorbeeld: `ls` naar `wc`
Hier wordt de uitvoer van ls -l (een gedetailleerde lijst met bestanden) als invoer naar wc -l (woordtelling - regels) 'gepipet'. Hiermee tel je effectief hoeveel items door ls -l worden weergegeven.
ls -l | wc -lSnelle controle
Bekijk de volgende reeks opdrachten:
echo "Apple" > fruits.txt
echo "Banana" >> fruits.txt
echo "Cherry" > fruits.txt
cat fruits.txtWat is de uiteindelijke inhoud van fruits.txt die door de opdracht cat wordt weergegeven?
Samenvatting: stromen en omleiding
Goed gedaan! Je hebt de basisprincipes van standaardstromen geleerd en weet nu hoe je deze omleidt:
- Standaardstromen:
stdin(invoer),stdout(normale uitvoer),stderr(foutuitvoer). >: leidtstdoutom naar een bestand en overschrijft het.>>: leidtstdoutom naar een bestand en voegt uitvoer eraan toe.<: leidt de inhoud van een bestand om naar destdinvan een opdracht.2>: leidtstderrom naar een bestand.|(pipe): verbindt destdoutvan de ene opdracht met destdinvan een andere.
Deze technieken zijn essentieel voor krachtige werkstromen op de opdrachtregel. Vervolgens leer je tekst filteren met de krachtige opdracht grep!
Leer Beheersing van de Linux-opdrachtregel met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 48
Veelgestelde vragen
Is de les “Standaardstromen en omleiding” gratis?
Ja — de volledige tekst van “Standaardstromen en omleiding” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Beheersing van de Linux-opdrachtregel wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Beheersing van de Linux-opdrachtregel bevat in totaal 4 lessen.
Wat leer ik in “Standaardstromen en omleiding”?
Leer meer over stdin, stdout en stderr en hoe u deze omleidt met `|`, `>`, `>>` en `<`. Je oefent met Beheersing van de Linux-opdrachtregel door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Beheersing van de Linux-opdrachtregel te beginnen?
Ervaring vooraf is niet nodig. Beheersing van de Linux-opdrachtregel op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.
Hoe lang duurt de les “Standaardstromen en omleiding”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Beheersing van de Linux-opdrachtregel?
Ja. Elke les over Beheersing van de Linux-opdrachtregel bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Standaardstromen en omleiding
- Tekst filteren met `grep`
- Tekst bewerken met `sed` en `awk`
- Output combineren en sorteren met sort, uniq en cut