Intro
Joskus näemme tällaisia komentoja komentotulkissa:
- $ ls foo > /dev/null 2>&1
Saattaa olla vaikea ymmärtää, mitä tämä tekee ensimmäistä kertaa, joten tässä huomautuksessa selitetään se lyhyesti.
I/O Redirection
Esitellään, että sinulla on nyt yksinkertainen tekstitiedosto:

Siirrä nyt tämän tiedoston sisältö toiseen paikkaan:
Yllä olevassa uudelleenohjaustoiminnossa emme näe terminaalissa näkyvää tulostetta, koska komento > ohjaa test.txt:n sisällön osoitteeseenoutput.txt, joka on vakiotuloste (stdout).
Vakiolähdön vastakohtana on vakiovirhe (stdr), esim.

Uudelleenohjausprosessin aikana tapahtui virhe, koska nykyisessä hakemistossa ei ole tiedostoa nimeltä no_such_file.txt. Tässä tapauksessa, vaikka komentoa > käytetäänkin, ei ole mahdollista syöttää sisältöä output.txt-tiedostoon, koska stdout-tiedostoa ei ole, vaan sen sijaan stderror-virheilmoitus.
Tiedoston kuvaaja
Tiedoston kuvaajaa voidaan ajatella positiivisena kokonaislukuna avoimelle tiedostolle. Jos sinulla on 100 avointa tiedostoa, sinulla on periaatteessa 100 vastaavaa tiedostokuvaajaa.
Unix/Unixin kaltaisissa järjestelmissä on myös tiedostokuvaajia, jotka on omistettu stdoutille ja stderrille.näille tulostuskohteille:
- 1: for stdout
- 2: for stderr
Kaikki yhdessä
Ylläolevan konseptin mukaan, jos haluat kirjoittaa tunnetun tiedoston sisällön johonkin toiseen tiedostoon, voit tehdä näin

Tällä puolella oleva 1 edustaa stdoutia, jonka syntaksi esitetään:
- >
Joten kun näet jonkun kirjoittavan from.foo > to.bar, se vain jättää pois kohdan
Niin ikään, stderr:n ohjaamiseksi voit tehdä näin:

Jos haluat ohjata sekä stdout- että stderr-virheilmoitukset samaan määränpäähän, voit ohjata ne seuraavasti

- &1 käytetään viittauksena tiedoston kuvaajan id:hen 1 eli viittauksena stdoutiin.
- 2>&1 tarkoittaa stderrin sisällön ohjaamista stdoutiin.
Summary
- Tulosteella on yleensä kaksi kohdetta: stdout ja stderr.
- Voidaan ohjata tuloste eri paikkoihin, mutta yleensä tiedostoon.
- Tiedoston kuvaajaa voidaan käyttää erottamaan stdout (1) ja stderr (2).
- komento > output_location on itse asiassa lyhenne komennosta 1> output_location.
- Voimme käyttää & viittaamaan muihin tiedoston kuvaajiin.