Direcionadores de fluxo fazem o que o nome sugere: direcionam o fluxo da saída dos programas, enviando-as para locais diferentes da saída padrão. Esses locais podem ser arquivos, dispositivos, processos e outros programas. Nesse artigo veremos como utilizar os direcionadores do Linux para facilitar a vida do administrador de sistemas.
Uma restrição ao uso do direcionador > é que ele não funciona para mensagens de erro. Por exemplo, vamos usar o comando ls usando como parâmetro um diretório que não existe:
$ ls diretorio_inexistente > ls_out
ls: diretorio_inexistente: Arquivo ou diretório não encontrado
Observe que, mesmo usando o direcionador >, a mensagem de erro foi exibida. Se visualizarmos o conteúdo do arquivo ls_out veremos que nada foi gravado.
Para gravar as mensagens de erro, devemos usar o direcionador 2>:
$ ls diretorio_inexistente 2> ls_out
Agora sim, nenhuma mensagem de erro foi exibida na tela, porque ela foi enviada para o arquivo ls_out, como podemos verificar:
$ cat ls_out
ls: diretorio_inexistente: Arquivo ou diretório não encontrado
[3] Comentário enviado por davidsonpaulo em 26/06/2006 - 11:21h
Salve, jllitvay!
Bom, você pode fazer o seguinte:
$ [comando] &> /dev/tty2 &
Onde:
* comando: o comando que você quer executar, com todos os parâmetros;
* &> /dev/tty2: envia todas a saída do programa para o tty2 (você tem ue ter permissão de escrita no tty2);
* &: roda o programa em plano de fundo, para que o tty atual fique livre para executar mais comandos.
Eu testei aqui. Abri um terminal gráfico e executei o comando:
# ls -R / &> /dev/tty6 &
O terminal ficou livre e, ao ir para o /dev/tty6, eis que lá estava aparecendo a saída do comando ls -R /.
[5] Comentário enviado por wanderleihuttel em 27/06/2006 - 09:13h
Cara muito bom mesmo este artigo. Não conhecia o "tr", para excluir caracteres. Agora acho que vu conseguir fazer um relatório no meu arquivo secure, bem legal.
[7] Comentário enviado por JuNiOx em 20/07/2006 - 02:29h
algumas partes estão muito parecidas com o guiafoca, a descrição do ">>" está idêntica.
creio que poderia ter citado também nos "créditos" caso tenha retirado de lá também.
[8] Comentário enviado por davidsonpaulo em 20/07/2006 - 17:19h
Descrição do direcionador >>, de acordo com o Guia Foca Linux Iniciante, versão online:
"Redireciona a saída de um programa/comando/script para algum dispositivo ou final de arquivo ao invés do dispositivo de saída padrão (tela). A diferença entre este redirecionamento duplo e o simples, é se caso for usado com arquivos, adiciona a saída do comando ao final do arquivo existente ao invés de substituir seu conteúdo. .
Por exemplo, você pode acrescentar a saída do comando ls ao arquivo listagem do capítulo anterior usando ls / >>listagem. Use o comando cat para visualizar o conteúdo do arquivo listagem."
Sinto muito desapontá-lo, JuNiOx, mas eu não extraí nada do que está nesse artigo do Guia Foca Linux, as diferenças entre os dois textos são gritantes e as semelhanças são coisa da sua cabeça.
[9] Comentário enviado por volcom em 26/08/2009 - 10:52h
Ahhhhh!!
Eu já estava usando tooooodos os direcionadores, mas o tee me salvou a pele pra executar um Script enviando as mensagens para a tela e para o arquivo de log ao mesmo tempo...
Ops, mas o tee sobrescreve o arquivo anterior...para resolver isso usei a opção tee -a para ele adicionar/concatenar o conteúdo!
[13] Comentário enviado por crivellari em 22/07/2014 - 09:08h
Olá tenho uma pequena dúvida
O direcionador 2>&1 é igual a &> (pelo menos fazem a mesma função)
Pelo que vejo nos exemplos e descrição que procurei na net. Quando usar um e quando usar ou outro?
Agradeço antecipadamente pela ajuda.
Um grande abraço
Crivellari