Når du bruger Linux, kan du støde på referencer til "standard I/O" eller "standard input", "standard output" og "standard error." Hvad betyder disse udtryk?

Standard input

Standardinput er en betegnelse for det input, som et kommandobaseret program modtager. Ved interaktiv brug er det normalt fra tastaturet, men som du vil se senere, kan det også komme fra en fil.

Mens tastaturet i disse dage normalt er sat direkte i maskinen, da tekstterminalerne var mere almindelig, standard input blev taget fra terminaltastaturet tilsluttet en central minicomputer eller mainframe. Moderne Linux-systemer bruger terminalemulatorer eller systemkonsollen til standardinput.

Standard output

Standard output, ligesom standard input, er det sted, hvor et program sender sit tekstoutput. Igen er dette typisk en terminalemulator på moderne systemer, men var tidligere også på fysiske terminaler, enten med CRT-skærme eller printet på papir ved hjælp af teletyper.

Teletype-terminaler var mere almindelige, da Linuxs forgænger, Unix, blev udviklet på Bell Labs i slutningen af ​​1960'erne og begyndelsen af ​​1970'erne.

instagram viewer

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

Ligesom standardinput kan du også omdirigere standardoutput til en fil.

Standard fejl

Standardfejl bruges normalt til alle fejlmeddelelser, som et program kan generere. Som med standard output vises det normalt på skærmen, men kan også omdirigeres til en fil eller til en blokenhed som f.eks. /dev/null.

Sådan omdirigeres input og output på Linux

En af de mest kraftfulde funktioner i Linux- og Unix-systemer er evnen til at omdirigere input og output til filer og andre programmer.

Den mest udbredte metode er at sende output fra en kommando til en anden, eller en "pipeline". Til for eksempel, for at se, hvor mange Linux-kommandoer der har "sh" i deres navn, kan du pipe outputtet af ls-kommandoen med grep.

ls /bin | grep 'sh'

Til omdirigere outputtet fra en kommando til en fil, brug > operatør. For eksempel at sende output af ls kommandoen ind i et filnavn filliste:

ls > filliste

Det >> operatør tilføjer outputtet til en eksisterende fil eller opretter det, hvis det ikke eksisterer. For at forhindre utilsigtet overskrivning af en fil, kan du indstille "noclobber"-indstillingen i Bash:

sæt noclobber

Du kan også få et program til at tage input fra en fil med < operatør. Katteprogrammet kan udskrive indholdet af en fil ved at tage input fra filen og sende output til standard output.

kat < fil

Selvfølgelig kan du bare bruge cat og angive filstien som et argument, men dette er kun et eksempel.

Du kan omdirigere standardfejl ved hjælp af en fildeskriptor eller et tal, der står for en af ​​formerne for standard I/0. Med filbeskrivelser er 0 standardinput, 1 er standardoutput og 2 er standardfejl. Syntaksen i Bash er [filbeskrivelse]>. Det er nyttigt at omdirigere standardfejl til /dev/null for at slippe af med fejl:

linux_kommando 2> /dev/null

Du kan omdirigere både standard output og input på én gang med &>, hvilket er nyttigt, hvis du har brug for at sende en e-mail eller et forumindlæg, der beskriver et problem, du har med et program:

linux_command &> fil

Standard I/O virker overalt

Selv med de grafiske miljøer, der er tilgængelige i dag, forbliver standard I/O vigtig, fordi det stadig er den universelle grænseflade, fra desktop til server til mobil, der er baseret på ASCII-tekst.

Hvad er ASCII-tekst, og hvordan bruges det?

ASCII-tekst fremstår kryptisk, men den har mange anvendelsesmuligheder rundt omkring på internettet.

Læs Næste

DelTweetE-mail
Relaterede emner
  • Linux
  • Teknologi forklaret
  • Elementær Linux
  • Linux Bash Shell
Om forfatteren
David Delony (62 artikler udgivet)

David er freelanceskribent baseret i Pacific Northwest, men oprindeligt fra Bay Area. Han har været teknologientusiast siden barndommen. Davids interesser omfatter læsning, se kvalitets-tv-shows og film, retrospil og indsamling af plade.

Mere fra David Delony

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for tekniske tips, anmeldelser, gratis e-bøger og eksklusive tilbud!

Klik her for at abonnere