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.
Temos ainda o direcionador <<, utilizado para marcar o fim de exibição de um bloco. Um dos usos mais freqüentes desse direcionador é em conjunto com o comando cat.
O comando abaixo termina o comando cat quando for digitada a palavra "fim":
$ cat << fim
> O comando só termina
> quando for digitada
> a palavra especificada
> depois do direcionador
> <<, nesse caso, a palavra
> é "fim"
> fim
O comando só termina
quando for digitada
a palavra especificada
depois do direcionador
<<, nesse caso, a palavra
é "fim"
Como vimos, a palavra "fim" foi usada para determinar o fim do comando cat. Perceba que a linha onde digitamos "fim" não é exibida na saída do comando cat, logo abaixo.
Poderiámos usar isso para inserir texto em um arquivo sem precisar usar nenhum editor de texto. Vamos inserir, por exemplo, uma linha ao final do arquivo /etc/fstab:
$ cat << FIM >> /etc/fstab
> /dev/sda /mnt/usb vfat rw,user,noauto,sync 0 0
> FIM
[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