Dit heeft dus niks te maken met exitcodes DrFrankenstoner (wel met feedback, da's waar

).
Het is eigenlijk heel simpel inderdaad, zoals Sjonny beschrijft.
< leidt invoer van stdin om (je kunt dus een proces 'invoer van' een ander proces laten krijgen)
> stuurt stdout ergens anders heen
2> stuurt stderr ergens anders heen
>> append stdout aan een bestaande file
Als je 2>&1 gebruikt gaat inderdaad de uitvoer van 'stderr' (daar verschijnen normaal de foutmeldingen) naar 'stdout'.
Tot slot heb je dan nog '|', dat knoopt de stdin van het proces achter de '|' aan de stdout van het proces voor de '|' (m.a.w. wat het eerste proces uitspuugt gaat het tweede proces in om verder bewerkt te worden)
Zo simpel is het, als je dit weet en goed snapt, weet je de belangrijkste vorm van interprocescommunicatie in Unix.