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.
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.
ASCII-tekst fremstår kryptisk, men den har mange anvendelsesmuligheder rundt omkring på internettet.
Læs Næste
- Linux
- Teknologi forklaret
- Elementær Linux
- Linux Bash Shell

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.
Abonner på vores nyhedsbrev
Tilmeld dig vores nyhedsbrev for tekniske tips, anmeldelser, gratis e-bøger og eksklusive tilbud!
Klik her for at abonnere