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.
ASCII tekst tundub salapärane, kuid sellel on Internetis palju kasutusvõimalusi.
Loe edasi
- Linux
- Tehnoloogia selgitus
- Linuxi algklass
- Linux Bash Shell
![](/f/acc3fcfeb7f99a7933db257018f46f8a.jpg)
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.
Liituge meie uudiskirjaga
Liituge meie uudiskirjaga tehniliste näpunäidete, arvustuste, tasuta e-raamatute ja eksklusiivsete pakkumiste saamiseks!
Tellimiseks klõpsake siin