Usar /dev/zero
tem o mesmo efeito que /dev/null
ao redirecionar a saída para ele. Não há razão para não usá-lo. Este último é mais comumente encontrado em exemplos e, portanto, tornou-se mais popular.
Quanto ao redirecionamento, você deve verificar o manual do seu shell. O Wiki do Bash Hackers tem um tutorial sobre redirecionamento e outra página de referência .
Basicamente,
-
>
redireciona a saída para um arquivo -
>>
ao redirecionar os anexos para um arquivo (ou criá-lo quando ele não existe), enquanto>
trunca e, portanto, exclui o conteúdo do arquivo -
n>
, onden
é o número do descritor de arquivo, redireciona a saída desse descritor para um arquivo. Geralmente1
e2
são usados, sendostdout
estderr
, respectivamente. -
m>&n
redireciona o resultado do descritor de arquivom
paran
, então você pode combinar, por exemplo,stdout
estderr
:> /dev/null 2>&1
-
&>
também combinastdout
estderr