Hver prosess I Linux produserer tre datastrømmer, stdin, stdout og stderr:
- stdin : Tar input fra brukeren via tastaturet
- stdout : Viser utdata på skjermen
- stderr : Viser feilinformasjon på skjermen
Hver datastrøm har en numerisk ID:
Numerisk ID | Navn |
0 | stdin |
1 | stdout |
2 | stderr |
La oss forklare omdirigering litt mer med detaljer:
Hvordan omdirigere standardutgang og standardfeil i Bash:
For å omdirigere standardutgangen til kommandoen, bruker vi 1 med en omdirigeringsoperator som er større enn> -tegnet:
$ls 1>stdout.txtKommandoen ovenfor vil opprette en fil og plassere standardutgangen for ls -kommandoen i filen stdout.txt.
For å lese stdout.txt -filen, bruk:
$kattstdout.txt
Vi kan også omdirigere standardfeil til en fil ved å bruke kommandoen:
$kattmyfile.txt2>stderr.txt
For å se filen stderr.txt, bruk:
$kattstderr.txt
Sørg for at bruk 2 er større enn> -tegnet. Siden det ikke er noen myfile.txt -fil i katalogen, gir cat -kommandoen en feil som vil bli lagt til i filen stderr.txt.
Disse standardutgangene kan også omdirigeres med en enkelt kommando, bruk:
$ls 1>stdout.txt2>stderr.txt
Utdataene fra ls -kommandoen skrives i stdout.txt filen, men stderr.txt vil forbli tomt fordi det ikke ville være noen feil.
La oss gjøre nå for stderr.txt:
$kattmyfile.txt1>stdout.txt2>stderr.txt
Bruk kommandoen nedenfor for å lese stderr.txt.
$kattstderr.txt
Og selvfølgelig vil stdout.txt være tomt.
Konklusjon :
Linux -kommando ved utførelse gir standardutgang som kan være en suksessutgang eller en feilutgang. Vanligvis kan disse utgangene ikke omdirigeres med omdirigeringsoperatorer; vi må bruke spesifikke numeriske ID -er med> -tegnet. I denne veiledningen lærte vi hvordan du bruker disse talltastene til å omdirigere standardutdata til en fil med eksempler.