Um breve resumo sobre os redirecionadores do sistema.
Redirecionadores:
- 0 = stdin - Entrada padrão
- 1 = stdout - Saída padrão
- 2 = stderr - Saída de erros
> (maior) - Direciona a saída de um comando para dentro de um arquivo, sobrescrevendo o seu conteúdo, caso o arquivo especificado não exista, ele o criará.
Exemplo:
echo 1 > arq
>> (maior-maior) - Direciona a saída de um comando para dentro de um arquivo, este não sobrescreve o seu conteúdo, apenas acrescenta a saída do comando ao final do conteúdo existente no arquivo, caso o arquivo especificado não exista, ele o criará.
Exemplo:
echo 1 >> arq
< (menor) - Direciona o conteúdo de um arquivo para a entrada de um comando.
Exemplo:
cat < /etc/passwd
2> (dois-maior) - Direciona a saída de erro (stderr) para dentro de um arquivo, sobrescrevendo o seu conteúdo, caso o arquivo não exista, ele o criará.
Exemplo:
downshut 2> arq2
2>> (dois-maior-maior) - Direciona a saída de erro (stderr) para dentro de um arquivo, este não sobrescreve o seu conteúdo, apenas acrescenta a saída de erro ao final do conteúdo existente no arquivo, caso o arquivo especificado não exista, ele o criará.
Exemplo:
bootre 2>> arq2
&> (e-maior) - Direciona o stdout (1) e o stderr (2) para dentro de um arquivo, sobrescrevendo o seu conteúdo, e caso o arquivo não exista, ele o criará.
Exemplo:
cat /etc/* &> arq_out
Neste exemplo, o comando
cat irá exibir o conteúdo de todos os arquivos dentro do "/etc", porém, também existem diretórios dentro do "/etc", então, ele irá direcionar alguns erros (pois para exibir o conteúdo de diretórios é utilizado o "ls").
Ambas as saídas (stdin = a exibição do conteúdo dos arquivos, stderr = erro ao tentar listar o conteúdo dos diretórios com o cat) serão enviadas para o arquivo "arq_out".
&>> (e-maior-maior) - Direciona o stdout (1) e o stderr (2) para dentro de um arquivo, este não sobrescreve o seu conteúdo, apenas acrescenta a saída 1 e 2 ao final do conteúdo existente no arquivo, caso o arquivo especificado não exista, ele o criará.
| (pipe) - Direciona a saída de um comando para a entrada de outro.
Exemplo:
cat /etc/passwd | nl
Neste exemplo, o comando cat irá exibir o conteúdo do arquivo "/etc/passwd" e a saída dele será direcionada para a entrada do comando
nl, que é responsável por exibir e numerar as linhas de um arquivo.
tee - Quando usado junto com o pipe, permite que a saída padrão do comando seja exibida na tela e enviada para um arquivo ao mesmo tempo.
Exemplo:
cat /etc/passwd | tee arq
Neste exemplo, o comando cat irá exibir o conteúdo do arquivo "/etc/passwd" e a saída dele será direcionada para o
tee (que irá direcionar a saída do comando:
cat /etc/passwd
...Para a tela e simultaneamente para o arquivo "arq".
É isso aí pessoal, espero ter ajudado em algo.
Obrigado.