Linuxi kasutamisel võite kohata viiteid "standardsele I/O-le" või "standardsisendile", "standardväljundile" ja "standardveale". Mida need mõisted tähendavad?

Standardne sisend

Standardsisend on termin sisendi jaoks, mille käsupõhine programm vastu võtab. Interaktiivses kasutuses pärineb see tavaliselt klaviatuurilt, kuid nagu hiljem näete, võib see pärineda ka failist.

Kui tänapäeval ühendatakse klaviatuur tavaliselt otse masinaga, siis kui tekstiterminale oli rohkem ühine, standardsisend võeti terminali klaviatuurilt, mis oli ühendatud keskse miniarvutiga või suurarvuti. Kaasaegsed Linuxi süsteemid kasutavad standardsisendiks terminali emulaatoreid või süsteemikonsooli.

Standardväljund

Standardväljund, nagu standardsisend, on koht, kuhu programm saadab oma tekstiväljundi. Jällegi on see tavaliselt tänapäevaste süsteemide terminali emulaator, kuid varem oli see ka füüsilistes terminalides, kas CRT-ekraanidega või teletüüpide abil paberile trükitud.

Teletüüpi terminalid olid tavalisemad, kui Linuxi eelkäijat Unixit arendati Bell Labsis 1960. aastate lõpus ja 1970. aastate alguses.

Seotud: Miks on Linuxi käsud nii lühikesed? Linuxi käskude ajalugu

Sarnaselt standardsisendiga saate ka standardväljundi faili ümber suunata.

Tavaline viga

Standardviga kasutatakse tavaliselt mis tahes veateadete puhul, mida programm võib genereerida. Nagu standardväljundi puhul, kuvatakse see tavaliselt ekraanil, kuid selle saab suunata ka faili või blokeerimisseadmesse, näiteks /dev/null.

Kuidas sisendit ja väljundit Linuxis ümber suunata

Üks Linuxi ja Unixi süsteemide võimsamaid omadusi on võimalus suunata sisend ja väljund ümber failidele ja muudele programmidele.

Kõige laialdasemalt kasutatav meetod on väljundi saatmine ühest käsust teise ehk "torujuhtmesse". Sest Näiteks kui soovite näha, kui paljude Linuxi käskude nimes on "sh", saate ls-käsu väljundi torujuhtmega ühendada koos grepiga.

ls /bin | grep 'sh'

To suunab väljundi käsust faili, kasuta > operaator. Näiteks väljundi saatmiseks ls käsk failinimesse faililoend:

ls > faililoend

The >> operaator lisab väljundi olemasolevale failile või loob selle, kui seda pole olemas. Faili kogemata ülekirjutamise vältimiseks saate Bashis määrata suvandi "noclobber".

komplekt noklobber

Samuti saate lasta programmil failist sisendit võtta < operaator. Cat programm suudab faili sisu printida, võttes failist sisendi ja saates väljundi standardväljundisse.

kass < fail

Muidugi võite lihtsalt kasutada cat ja määrata argumendina faili tee, kuid see on vaid näide.

Standardvea saate ümber suunata, kasutades failideskriptorit või numbrit, mis tähistab üht standardse I/0 vormidest. Failideskriptoritega on 0 standardsisend, 1 standardväljund ja 2 standardviga. Bashi süntaks on [faili deskriptor]>. Kasulik on standardvea ümbersuunamine /dev/null vigadest vabanemiseks:

linux_command 2> /dev/null

Saate nii standardväljundi kui ka sisendi korraga ümber suunata &>, mis on kasulik, kui peate saatma meili või foorumipostituse, milles kirjeldatakse programmiga seotud probleemi:

linux_command &> fail

Standardne I/O töötab kõikjal

Isegi täna saadaolevate graafiliste keskkondade puhul on standardne sisend/väljund endiselt oluline, kuna see on endiselt universaalne liides, töölauast serverini ja mobiilini, mis põhineb ASCII tekstil.

Mis on ASCII tekst ja kuidas seda kasutatakse?

ASCII tekst tundub salapärane, kuid sellel on Internetis palju kasutusvõimalusi.

Loe edasi

JagaSäutsMeil
Seotud teemad
  • Linux
  • Tehnoloogia selgitus
  • Linuxi algklass
  • Linux Bash Shell
Autori kohta
David Delony (Avaldatud 62 artiklit)

David on vabakutseline kirjanik, kes elab Vaikse ookeani loodeosas, kuid on algselt pärit lahe piirkonnast. Ta on lapsepõlvest saati olnud tehnoloogiahuviline. Davidi huvide hulka kuuluvad lugemine, kvaliteetsete telesaadete ja filmide vaatamine, retromängud ja plaatide kogumine.

Veel David Delonylt

Liituge meie uudiskirjaga

Liituge meie uudiskirjaga tehniliste näpunäidete, arvustuste, tasuta e-raamatute ja eksklusiivsete pakkumiste saamiseks!

Tellimiseks klõpsake siin