Når du bruker Linux, kan du komme over referanser til "standard I/O" eller "standard input", "standard output" og "standard error." Hva betyr disse begrepene?

Standard inngang

Standard input er en betegnelse for input som et kommandobasert program mottar. Ved interaktiv bruk er det normalt fra tastaturet, men som du skal se senere kan det også komme fra en fil.

Mens tastaturet i disse dager vanligvis er koblet direkte inn i maskinen, da var tekstterminalene mer vanlig, standard input ble tatt fra terminaltastaturet koblet til en sentral minidatamaskin eller hovedramme. Moderne Linux-systemer bruker terminalemulatorer eller systemkonsollen for standard input.

Standard utgang

Standard utdata, som standard input, er der et program vil sende tekstutdata. Igjen, dette er vanligvis en terminalemulator på moderne systemer, men var tidligere også på fysiske terminaler, enten med CRT-skjermer eller trykt på papir ved hjelp av teletyper.

Teletype-terminaler var mer vanlig da Linuxs forgjenger, Unix, ble utviklet ved Bell Labs på slutten av 1960-tallet og begynnelsen av 1970-tallet.

I slekt: Hvorfor er Linux-kommandoer så korte? Historien om Linux-kommandoer

Som standardinndata kan du også omdirigere standardutdata til en fil.

Standard feil

Standardfeil brukes vanligvis for alle feilmeldinger et program kan generere. Som med standard utgang, vises den vanligvis på skjermen, men kan også omdirigeres til en fil eller til en blokkenhet som /dev/null.

Hvordan omdirigere input og output på Linux

En av de kraftigste funksjonene til Linux- og Unix-systemer er muligheten til å omdirigere input og output til filer og andre programmer.

Den mest brukte metoden er å sende utdata fra en kommando til en annen, eller en "pipeline". Til for eksempel, for å se hvor mange Linux-kommandoer som har "sh" i navnet sitt, kan du pipe utdataene fra ls-kommandoen med grep.

ls /bin | grep 'sh'

Til omdirigere utdataene fra en kommando til en fil, bruke > operatør. For eksempel å sende utdata av ls-kommandoen inn i et filnavn filliste:

ls > filliste

De >> operatør legger utdataene til en eksisterende fil eller oppretter den hvis den ikke eksisterer. For å forhindre at en fil overskrives ved et uhell, kan du angi "noclobber"-alternativet i Bash:

sett noclobber

Du kan også få et program til å ta innspill fra en fil med < operatør. Cat-programmet kan skrive ut innholdet i en fil ved å ta innspill fra filen og sende utdataene til standardutdata.

cat < fil

Selvfølgelig kan du bare bruke cat og spesifisere filbanen som et argument, men dette er bare et eksempel.

Du kan omdirigere standardfeil ved å bruke en filbeskrivelse, eller et tall som står for en av formene til standard I/0. Med filbeskrivelser er 0 standard input, 1 er standard output, og 2 er standard feil. Syntaksen i Bash er [filbeskrivelse]>. Det er nyttig å omdirigere standardfeil til /dev/null for å bli kvitt feil:

linux_kommando 2> /dev/null

Du kan omdirigere både standard utgang og input samtidig med &>, som er nyttig hvis du trenger å sende en e-post eller et foruminnlegg som beskriver et problem du har med et program:

linux_command &> fil

Standard I/O fungerer overalt

Selv med de grafiske miljøene som er tilgjengelige i dag, er standard I/O fortsatt viktig fordi det fortsatt er det universelle grensesnittet, fra skrivebord til server til mobil, basert på ASCII-tekst.

Hva er ASCII-tekst og hvordan brukes den?

ASCII-tekst virker kryptisk, men den har mange bruksområder rundt på internett.

Les Neste

DelekvitringE-post
Relaterte temaer
  • Linux
  • Teknologi forklart
  • Elementær Linux
  • Linux Bash Shell
Om forfatteren
David Delony (62 artikler publisert)

David er en frilansskribent basert i Pacific Northwest, men opprinnelig fra Bay Area. Han har vært en teknologientusiast siden barndommen. Davids interesser inkluderer lesing, se kvalitets-TV-serier og filmer, retrospilling og plateinnsamling.

Mer fra David Delony

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!

Klikk her for å abonnere