Existe saída padrão (1), saída de erro (2) e entrada (0). Estes são os descritores de arquivos padrão:
tweedleburg:~ $ cat &
[1] 13089
[1]+ Stopped cat
tweedleburg:~ $ cd /proc/$!
tweedleburg:/proc/13089 $ cd fd
tweedleburg:/proc/13089/fd $ ls
0 1 2
Agora o programador pode abrir arquivos e cada abertura de arquivo fornece um descritor de arquivo (para mais informações link ). Agora vamos ver isto:
tweedleburg:~ $ wget www.linuxintro.org
[...]
2014-01-25 20:43:30 (157 KB/s) - ‘index.html’ saved [19928]
Aqui o programador wget decidiu abrir um arquivo (neste caso index.html) para escrever. Ele tem algum número como descritor de arquivo, mas certamente não 0, 1 ou 2. Os dados da internet estão escritos nisto. O programador do wget também decidiu que a linha "salva" seria gravada no fluxo de saída de erro. Eu posso entender isso como wget tem ou pode obter um parâmetro que despeja todos os dados para o fluxo de saída padrão. Então, não deve ser misturado com informações de status.
É por isso que existem dois fluxos de saída, padrão para dados e erro para mensagens de erro / status. Eu blogo sobre isso aqui: link .
Agora, para redirecionar a saída de erro, use o código 2 > operador, para saída padrão você usa o 1 > ou > operador:
tweedleburg:~ $ wget >/dev/null
wget: missing URL
Usage: wget [OPTION]... [URL]...
Try 'wget --help' for more options.
tweedleburg:~ $ wget 2>/dev/null
tweedleburg:~ $
você vê - no segundo exemplo, as mensagens de erro são suprimidas:)