När du använder Linux kan du stöta på referenser till "standard I/O" eller "standard input", "standard output" och "standard error". Vad betyder dessa termer?

Standardingång

Standardinmatning är en term för den input som ett kommandobaserat program tar emot. Vid interaktiv användning är det normalt från tangentbordet, men som du kommer att se senare kan det också komma från en fil.

Medan tangentbordet dessa dagar vanligtvis är anslutet direkt till maskinen, när textterminaler var fler vanlig, standardinmatning togs från terminaltangentbordet anslutet till en central minidator eller stordator. Moderna Linux-system använder terminalemulatorer eller systemkonsolen för standardinmatning.

Standardutgång

Standardutdata, som standardinmatning, är där ett program skickar sin textutdata. Återigen, detta är vanligtvis en terminalemulator på moderna system men tidigare var det också på fysiska terminaler, antingen med CRT-skärmar eller tryckt på papper med hjälp av teletyper.

Teletypterminaler var vanligare när Linuxs föregångare, Unix, utvecklades på Bell Labs i slutet av 1960-talet och början av 1970-talet.

instagram viewer

Relaterad: Varför är Linux-kommandon så korta? Historien om Linux-kommandon

Som standardinmatning kan du också omdirigera standardutdata till en fil.

Standard fel

Standardfel används vanligtvis för alla felmeddelanden som ett program kan generera. Som med standardutdata visas det vanligtvis på skärmen men kan också omdirigeras till en fil eller till en blockenhet som /dev/null.

Hur man omdirigerar in- och utdata på Linux

En av de mest kraftfulla funktionerna i Linux- och Unix-system är möjligheten att omdirigera indata och utdata till filer och andra program.

Den mest använda metoden är att skicka utdata från ett kommando till ett annat, eller en "pipeline". För Till exempel, för att se hur många Linux-kommandon som har "sh" i sitt namn, kan du pipe utdata från kommandot ls med grep.

ls /bin | grep 'sh'

Till omdirigera utdata från ett kommando till en fil, Använd > operatör. Till exempel för att skicka utdata från kommandot ls till ett filnamn fillista:

ls > fillista

De >> operatören lägger till utdata till en befintlig fil eller skapar den om den inte finns. För att förhindra att en fil skrivs över av misstag kan du ställa in alternativet "noclobber" i Bash:

set noclobber

Du kan också låta ett program ta indata från en fil med < operatör. Cat-programmet kan skriva ut innehållet i en fil genom att ta input från filen och skicka utdata till standardutdata.

katt < fil

Naturligtvis kan du bara använda cat och ange filsökvägen som ett argument, men detta är bara ett exempel.

Du kan omdirigera standardfel med hjälp av en filbeskrivning eller ett tal som står för en av formerna för standard I/0. Med filbeskrivningar är 0 standardinmatning, 1 är standardutgång och 2 är standardfel. Syntaxen i Bash är [filbeskrivning]>. Det är användbart att omdirigera standardfel till /dev/null för att bli av med fel:

linux_kommando 2> /dev/null

Du kan omdirigera både standardutgång och ingång på en gång med &>, vilket är användbart om du behöver skicka ett e-postmeddelande eller ett foruminlägg som beskriver ett problem du har med ett program:

linux_command &> fil

Standard I/O fungerar överallt

Även med de grafiska miljöer som finns tillgängliga idag är standard I/O fortfarande viktig eftersom det fortfarande är det universella gränssnittet, från stationär dator till server till mobil, baserat på ASCII-text.

Vad är ASCII-text och hur används den?

ASCII-text verkar kryptisk, men den har många användningsområden på internet.

Läs Nästa

Dela med sigTweetE-post
Relaterade ämnen
  • Linux
  • Teknik förklaras
  • Linux Elementary
  • Linux Bash Shell
Om författaren
David Delony (62 publicerade artiklar)

David är en frilansskribent baserad i Pacific Northwest, men kommer ursprungligen från Bay Area. Han har varit en teknikentusiast sedan barnsben. Davids intressen inkluderar att läsa, titta på tv-program och filmer av hög kvalitet, retrospel och skivsamling.

Mer från David Delony

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!

Klicka här för att prenumerera