I Linux går felutgången vanligtvis till
standardfel (stderr) . Detta är en separat utgångsström från
standardutgång (STDOUT) , det är där normal programutgång går.
Så här fungerar det:
* Standardutgång (STDOUT) används för normal programutgång, såsom text, resultat av beräkningar och annan data som programmet avser att visa.
* Standardfel (stderr) används för felmeddelanden, varningar och annan information som indikerar ett problem eller oväntat beteende.
Genom att separera dessa två strömmar kan du:
* Direkt olika utgångar till olika platser: Till exempel kanske du vill skicka normal utgång till en fil och felmeddelanden till konsolen.
* Använd verktyg för att filtrera eller bearbeta utgång: Du kan använda verktyg som "grep" eller "awk" för att extrahera specifik information från stdout eller stderr.
Här är ett praktiskt exempel:
`` `bash
Detta kommando kommer att skriva ut utgången till terminalen
ls -l /tmp
Detta kommando kommer att skriva ut utgången till en fil, men fel kommer fortfarande att gå till terminalen
ls -l /tmp>
output.txt
Detta kommando kommer att omdirigera både utdata och fel till en fil
ls -l /tmp>
output.txt 2> &1
`` `
Nyckelpunkter att komma ihåg:
* Standard: Såvida inte omdirigeras visas både STDOUT och STDERR på terminalen.
* Omdirigering: Du kan omdirigera STDOUT och STDERR med hjälp av `>` respektive `2>` operatörer.
* felmeddelanden: Felmeddelanden går vanligtvis till stderr, även om STDOUT omdirigeras.
Att förstå skillnaden mellan STDOUT och STDERR är avgörande för att hantera och analysera produktion i Linux.