Als je Linux gebruikt, kun je verwijzingen tegenkomen naar 'standaard I/O' of 'standaard invoer', 'standaard uitvoer' en 'standaardfout'. Wat betekenen deze termen?

Standaard invoer

Standaardinvoer is een term voor de invoer die een op commando's gebaseerd programma ontvangt. Bij interactief gebruik komt het normaal gesproken van het toetsenbord, maar zoals je later zult zien, kan het ook uit een bestand komen.

Terwijl het toetsenbord tegenwoordig meestal rechtstreeks op de machine wordt aangesloten, toen tekstterminals meer waren gemeenschappelijke, standaardinvoer is afkomstig van het terminaltoetsenbord dat is aangesloten op een centrale minicomputer of hoofdframe. Moderne Linux-systemen gebruiken terminalemulators of de systeemconsole voor standaardinvoer.

Standaard uitvoer

Standaarduitvoer, zoals standaardinvoer, is waar een programma zijn tekstuitvoer naartoe stuurt. Nogmaals, dit is typisch een terminalemulator op moderne systemen, maar in het verleden was dit ook op fysieke terminals, ofwel met CRT-schermen of gedrukt op papier met behulp van teletypes.

Teletype-terminals kwamen vaker voor toen de voorganger van Linux, Unix, eind jaren zestig en begin jaren zeventig in Bell Labs werd ontwikkeld.

Verwant: Waarom zijn Linux-opdrachten zo kort? De geschiedenis van Linux-opdrachten

Net als standaardinvoer, kunt u ook standaarduitvoer naar een bestand omleiden.

Standaardfout

Standaardfout wordt meestal gebruikt voor eventuele foutmeldingen die een programma kan genereren. Net als bij standaarduitvoer, wordt het meestal op het scherm weergegeven, maar het kan ook worden omgeleid naar een bestand of naar een blokapparaat zoals /dev/null.

Hoe invoer en uitvoer om te leiden op Linux

Een van de krachtigste functies van Linux- en Unix-systemen is de mogelijkheid om invoer en uitvoer om te leiden naar bestanden en andere programma's.

De meest gebruikte methode is om de uitvoer van de ene opdracht naar de andere te sturen, of een "pijplijn". Voor om bijvoorbeeld te zien hoeveel Linux-commando's "sh" in hun naam hebben, kun je de uitvoer van het ls-commando pipetten met gr.

ls /bin | grep 'sh'

Tot de uitvoer van een opdracht omleiden naar een bestand, gebruik de > exploitant. Om bijvoorbeeld de uitvoer van te verzenden het ls-commando in een bestandsnaam bestandslijst:

ls > bestandslijst

De >> operator voegt de uitvoer toe aan een bestaand bestand of maakt het als het niet bestaat. Om te voorkomen dat een bestand per ongeluk wordt overschreven, kun je de "noclobber"-optie in Bash instellen:

stel noclobber in

U kunt een programma ook invoer uit een bestand laten opnemen met de < exploitant. Het cat-programma kan de inhoud van een bestand afdrukken door invoer uit het bestand te nemen en de uitvoer naar de standaarduitvoer te sturen.

kat < bestand

Je kunt natuurlijk gewoon cat gebruiken en het bestandspad als argument specificeren, maar dit is slechts een voorbeeld.

U kunt standaardfout omleiden met behulp van een bestandsdescriptor of een getal dat staat voor een van de vormen van standaard I/0. Bij bestandsdescriptors is 0 standaardinvoer, 1 standaarduitvoer en 2 is standaardfout. De syntaxis in Bash is [bestandsbeschrijving]>. Het is handig om de standaardfout om te leiden naar: /dev/null om van fouten af ​​te komen:

linux_command 2> /dev/null

U kunt zowel standaarduitvoer als invoer tegelijk omleiden met &>, wat handig is als je een e-mail of forumbericht moet sturen waarin je een probleem beschrijft dat je hebt met een programma:

linux_command &> bestand

Standaard I/O werkt overal

Zelfs met de grafische omgevingen die vandaag beschikbaar zijn, blijft standaard I/O belangrijk omdat het nog steeds de universele interface is, van desktop tot server tot mobiel, gebaseerd op ASCII-tekst.

Wat is ASCII-tekst en hoe wordt het gebruikt?

ASCII-tekst lijkt cryptisch, maar heeft veel toepassingen op internet.

Lees volgende

DeelTweetenE-mail
Gerelateerde onderwerpen
  • Linux
  • Technologie uitgelegd
  • Linux Elementair
  • Linux Bash Shell
Over de auteur
David Delony (62 gepubliceerde artikelen)

David is een freelance schrijver gevestigd in de Pacific Northwest, maar oorspronkelijk afkomstig uit de Bay Area. Van kinds af aan is hij een techneut. Davids interesses omvatten lezen, tv-programma's en films van hoge kwaliteit bekijken, retro-gaming en platen verzamelen.

Meer van David Delony

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren