Přesměrování výstupu do souboru nebo programu

ČísloNázev kanáluPopis:Výchozí připojeníUžití

0

stdin

Standard input

Keyboard

read only

1

stdout

Standard output

Terminal

write only

2

stderr

Standard error

Terminal

write only

3+

filename

Other files

none

read and/or write

Přesměrování výstupu do souboru

PoužitíVysvětlení

> file

Přesměrování stdout k přepsání souboru

Použití

>> file

Přesměrování stdout k přidání do souboru

PoužitíVysvětlení

2> file

Přesměrování stderr k přepsání souboru

2> /dev/null

Zahození chybové zprávy stderr přesměrováním na /dev/null

PoužitíVysvětlení

file 2>&1

Přesměrujte stdout a stderr tak, aby přepsaly stejný soubor

&> file

Přesměrujte stdout a stderr tak, aby přepsaly stejný soubor

PoužitíVysvětlení

>> file 2>&1

Přesměrujte stdout a stderr tak, aby se přidaly ke stejnému soubor

&>> file

Přesměrujte stdout a stderr tak, aby se přidaly ke stejnému soubor

Rozdíl mezi >& a &>

Operátor >& slouží k přesměrování výstupu z jednoho programu do jiného.

>& se používá k přesměrování výstupu (tzv. "stdout") i chybového výstupu (tzv. "stderr") do stejného souboru nebo zařízení stejně jako &>.

&> ale přesměruje chybový výstup (tzv. "stderr") do souboru nebo zařízení před výstupem (tzv. "stdout").

Pipelines

Tento příklad přebírá výstup příkazu ls a používá less k jeho zobrazení na terminálu po jedné obrazovce.

[user@host ~]$ ls -l /usr/bin | less

Výstup příkazu ls je přesměrován na wc -l, který spočítá počet řádků přijatých z ls a vytiskne je do terminálu.

[user@host ~]$ ls | wc -l 

Pipelines, přesměrování a příkaz tee

Tento příklad přesměruje výstup příkazu ls do souboru a předá jej less, aby se zobrazil na terminálu po jedné obrazovce.

[user@host ~]$ ls -l | tee /tmp/saved-output | less

Pokud je tee použito na konci, pak konečný výstup příkazu může být uložen a současně směrován na výstup do terminálu současně.

[user@host ~]$ ls -t | head -n 10 | tee /tmp/ten-last-changed-files

Last updated