O que significa 2 / dev / null?

156

Gostaria de uma breve explicação da seguinte linha de comando:

grep -i 'abc' content 2>/dev/null 
    
por Naive 26.09.2013 / 10:21

3 respostas

231

O > O operador redireciona a saída normalmente para um arquivo, mas pode ser para um dispositivo. Você também pode usar > > para anexar.

Se você não especificar um número, o fluxo de saída padrão será assumido, mas você também poderá redirecionar os erros

> file redireciona o stdout para o arquivo
1> file redireciona o stdout para o arquivo
2> file redireciona o stderr para o arquivo
&> file redireciona o stdout eo stderr para o arquivo

/dev/null é o dispositivo nulo que recebe qualquer entrada desejada e a joga fora. Pode ser usado para suprimir qualquer saída.

    
por Warren Hill 26.09.2013 / 10:38
16

Em suma, ele redireciona stderr (fd 2) para o buraco negro (descarta a saída do comando).

Alguns casos de uso mais comuns para redirecionamento:

command > /dev/null 2>&1 &

Executar command no fundo, descartar stdout e stderr

command >> /path/to/log 2>&1 &

Execute command e anexe stdout e stderr a um arquivo de log.

    
por Terry Wang 26.09.2013 / 10:32
6

/dev/null é tratado como um buraco negro no Linux / Unix, então você pode colocar qualquer coisa nisso, mas você não será capaz de recuperá-lo de /dev/null .

Além disso, 2> significa que você está redirecionando (ou seja, > ) o stderr (ou seja, 2 ) para o buraco negro (ou seja, /dev/null )

Seu comando é:

grep -i 'abc' content 2>/dev/null 

Não tente terminar com outra barra como essa - 2>/dev/null/ (não é um diretório).

    
por Indrajeet Gour 11.06.2015 / 12:57
-3

Este comando grep tem uma sintaxe errada, deve ser algo como

grep -ri content /support/security/bulletins/ 2> /dev/null

e o 2 & gt; / dev / null significa redirecionar todos os erros produzidos por este comando para / dev / null, ou seja, descartá-los e não exibi-los na tela (ou onde o descritor de arquivo de erro padrão está apontando atualmente). / dev / null é um arquivo que, quando você grava dados, não leva a lugar algum.

    
por sivann 26.09.2013 / 10:31