Tre strømmer åpnes når Linux -operativsystemet starter. Dette er stdin, stdout og stderr. Den fulle formen for stdin er standardinngang som brukes til å ta en inngang fra brukeren. Den fulle formen for stdout er standardutgangen som brukes til å lagre output fra kommandoen til stdout -strømmen. Den fulle formen for stderr er standardfeilen som brukes til å lagre feilmeldingen som genereres fra enhver kommando i datastrømmen. Bruken av disse strømningene vises i denne opplæringen. De tilsvarende numeriske identifikatorverdiene til stdin, stdout og stderr er 0, 1 og 2.
Omdirigeringsoperatører av stdin, stdout og stderr
Bruk av stdin, stdout og stderr
Bruken av stdin, stdout og stderr vises i denne delen av opplæringen ved hjelp av flere eksempler.
Eksempel 1: Bruk av stdin
Metoden for å ta innholdet i en fil og skrive den ut i terminalen vises i dette eksemplet.
Kjør følgende “Cat” -kommando for å opprette en tekstfil som heter Testdata.txt med noe innhold:
$ katt> testdata.tekst
Kjør følgende “Cat” -kommando for å legge noe innhold i testdataene.txt -fil:
$ katt >> testdata.tekst
Kjør følgende “Cat” -kommando for å ta innspill fra testdata.TXT -fil og skriv den ut i terminalen:
$ katt < testdata.txt
Produksjon:
Følgende utgang vises etter å ha utført de tidligere kommandoene etter å ha lagt til strengen, “Linuxhint.com ”, og“ scripting språk ”inn i testdata.txt -fil:
Eksempel 2: Bruk av stdout
Metoden for å lage en fil ved hjelp av Pipe (|) og omdirigeringsoperatøren vises i dette eksemplet.
Kjør følgende kommando for å skrive en strengdata i tekstfilen som heter TestData2.txt ved rør. Utgangen fra “Echo” -kommandoen sendes til inngangen til “Cat” -kommandoen ved hjelp av Pipe (|) -operatøren:
$ ekko "Lær bash -programmering" | Cat> TestData2.tekst
Kjør følgende “Cat” -kommando for å sjekke innholdet i testdata2.txt -fil:
$ katt testdata2.tekst
Produksjon:
Følgende utgang vises etter å ha utført de tidligere kommandoene. I følge utgangen er utgangen fra “Echo” -kommandoen skrevet til testdata2.txt -fil:
Kjør følgende kommando for å skrive utdataene fra “LS -L” -kommandoen til en tekstfil som heter liste.txt ved hjelp av omdirigeringsoperatøren ('>'):
$ ls -l> liste.tekst
Kjør følgende “Cat” -kommando for å sjekke innholdet på listen.txt -fil:
$ katteliste.tekst
Produksjon:
Følgende utgang vises etter å ha utført de tidligere kommandoene. I henhold til utdataene skrives utgangen fra “LS -L” -kommandoen inn i listen.txt -fil:
Eksempel 3: Bruk av stdin og stdout
Metoden for å bruke både stdin og stdout for å ta en innspill fra en fil og skrive den til en fil vises i dette eksemplet.
Kjør følgende “Cat” -kommando for å ta innholdet i testdata.txt -fil og skriv den inn i testfilen.txt -fil og terminalen:
$ katt < testdata.txt > Testfile.tekst
Kjør følgende “Cat” -kommando for å skrive ut innholdet i testdata.txt -fil:
$ katt testdata.tekst
Kjør følgende “Cat” -kommando for å skrive ut innholdet i testfilen.txt -fil:
$ katt testfile.tekst
Produksjon:
Følgende utgang vises etter å ha utført de tidligere kommandoene. I følge utgangen, innholdet i testdata.TXT -filen skrives inn i testfilen.txt -fil og trykt i terminalen:
Eksempel 4: Bruk av stderr
Innholdet i standardfeilen kan skrives ut i terminalen eller omdirigert til en fil eller sendes til /dev /null som fungerer som papirkurven. De forskjellige måtene å passere standardfeilen vises i dette eksemplet.
Følgende kommando er gyldig, og den skriver ut "hei" -strengen med Newline. Så ingen standardfeil genereres for følgende kommando:
$ printf "%s \ n" "hei"
Følgende kommando er ugyldig fordi det ikke er noen kommando som heter "Pirntf". Så en standardfeil genereres og feilen skrives ut i terminalen:
$ pirntf "%s \ n" "hei"
Produksjon:
Følgende utgang vises etter å ha utført den forrige kommandoen. I henhold til utdataene skrives standardfeilen i terminalen:
Noen ganger krever det å skrive ut den tilpassede feilen ved å skjule standardfeilen for å gjøre feilen mer forståelig for brukerne. Denne oppgaven kan gjøres ved å omdirigere feilen i /dev /null. “2>” brukes her for å omdirigere feilen i /dev /null.
Kjør følgende kommando for å omdirigere feilen i /dev /null som ikke vil vise noen feil hvis det eksisterer noen feil:
$ pirntf "%s \ n" "hallo" 2> /dev /null
Produksjon:
Følgende utgang vises etter å ha utført den forrige kommandoen. I henhold til utdataene skrives ikke standardfeilen i terminalen for å omdirigere til /dev /null:
Noen ganger krever standardfeilen lagring i en fil for fremtidig bruk. Denne oppgaven kan gjøres ved å omdirigere feilen til en fil ved hjelp av “2>” -operatøren.
Kjør følgende kommando for å omdirigere standardfeilen til en fil som heter feilfil.tekst:
$ pirntf "%s \ n" "hallo" 2> errorfile.tekst
Kjør følgende kommando for å sjekke innholdet i feilfilen.txt -fil:
$ katt errorfile.tekst
Produksjon:
Følgende utgang vises etter å ha utført de tidligere kommandoene. I følge utdataene skrives standardfeilen riktig inn i feilfilen.txt -fil:
Standardfeilen kan omdirigeres til både /dev /null og feilfilen.txt -fil ved hjelp av følgende kommando:
$ pirntf "%s \ n" "hallo" 2> /dev /null> errorfile.tekst
Konklusjon
Bruken av stdin, stdout og stderr forklares i denne opplæringen ved å bruke flere eksempler som vil hjelpe Linux -brukerne til å forstå konseptet med disse strømningene og bruke dem riktig når det er nødvendig.