Hver proces i Linux producerer tre datastrømme, "stdin", "stdout" og "stderr":
- stdin: Tager input fra brugeren via tastaturet
- stdout: Viser output på skærmen
- stderr: Viser fejloplysninger på skærmen
Hver datastrøm har et numerisk id:
Numerisk id | Navn |
0 | stdin |
1 | stdout |
2 | stderr |
Lad os forklare omdirigering lidt mere med detaljer:
Sådan omdirigeres standardoutput og standardfejl i Bash:
For at omdirigere kommandoens standardoutput bruger vi "1" med en omdirigeringsoperator, der er større end ">" -tegnet:
$ ls 1> stdout.txtOvenstående kommando opretter en fil og placerer standardoutputtet for kommandoen “ls” i “stdout.txt-fil.
At læse “stdout.txt ”-fil, brug:
$ kat stdout.txt
Vi kan også omdirigere standardfejl til en fil ved hjælp af kommandoen:
$ cat myfile.txt 2> stderr.txt
For at se “stderr.txt ”-fil, brug:
$ kat stderr.txt
Sørg for at bruge "2" er større end ">" -tegnet. Da der ikke er nogen “myfile.txt ”-fil i biblioteket, kommandoen“ cat ”giver en fejl, der tilføjes i“ stderr.txt-fil.
Disse standardudgange kan også omdirigeres med en enkelt kommando, brug:
$ ls 1> stdout.txt 2> stderr.txt
Outputtet af kommandoen “ls” skrives i “stdout.txt”-Filen, men“stderr.txt”Forbliver tom, fordi der ikke ville være nogen fejl.
Lad os nu gøre for “stderr.txt ”:
$ cat myfile.txt 1> stdout.txt 2> stderr.txt
Brug nedenstående kommando til at læse “stderr.txt.”
$ kat stderr.txt
Og selvfølgelig “stdout.txt ”vil være tom.
Konklusion:
Linux-kommando ved udførelse giver standardoutput, der kan være en succesoutput eller en fejloutput. Generelt kan disse output ikke omdirigeres ved hjælp af omdirigeringsoperatorer; vi skal bruge specifikke numeriske id'er med ">" -tegnet. I denne vejledning lærte vi, hvordan man bruger disse numeriske taster til at omdirigere standardoutput til en fil med eksempler.