4. tubo e t

No Linux, a linha de comando torna-se incrivelmente poderosa quando você começa a conectar comandos. Em vez de executar um comando, salvar sua saída e depois executar outro, você pode criar um pipeline para passar dados diretamente entre eles.

Entendendo o Operador Pipe

Vamos começar com um comando que produz muita saída:

ls -la /etc

A lista de itens provavelmente é muito longa para caber na sua tela, dificultando a leitura. Embora você pudesse redirecionar essa saída para um arquivo, um método mais eficiente é enviá-la diretamente para outro comando, como less, para facilitar a visualização.

ls -la /etc | less

O operador pipe |, representado por uma barra vertical, é a chave para esse processo. Ele pega a saída padrão (stdout) do comando à sua esquerda e a usa como entrada padrão (stdin) para o comando à sua direita. Neste caso, nós canalizamos (piped) a saída de ls -la /etc diretamente para o comando less. O pipe é uma ferramenta fundamental que você usará constantemente.

Dividindo a Saída com o Comando Tee

E se você quiser ver a saída na sua tela e salvá-la em um arquivo simultaneamente? É aqui que entra o comando tee. O comando pipe e tee no linux é uma combinação clássica para registro e monitoramento.

ls | tee peanuts.txt

Após executar isso, você verá a saída de ls no seu terminal. Se você também verificar o conteúdo de peanuts.txt, encontrará exatamente a mesma informação. O comando tee efetivamente divide o fluxo de saída em duas direções: uma para a saída padrão e outra para um arquivo especificado.

Combinando Pipe e Tee

Você pode criar fluxos de trabalho ainda mais avançados encadeando esses comandos. Um padrão comum é usar o pipe para tee no meio de uma cadeia de comandos mais longa. Isso permite salvar um resultado intermediário enquanto continua a processar os dados.

Por exemplo, você pode usar a combinação linux pipe tee para visualizar e salvar a saída antes de filtrar mais:

ls -la /etc | tee etc_listing.txt | grep "conf"

Este comando faz três coisas:

  1. Lista o conteúdo do diretório /etc.
  2. Canaliza essa saída para o tee, que salva uma cópia em etc_listing.txt e também a repassa.
  3. A saída do tee é então canalizada para o grep, que filtra por linhas contendo "conf".

Dominar esses comandos melhorará significativamente sua eficiência na linha de comando.

Entre para salvar seu progresso de aprendizado

Entrar

Exercícios

A prática leva à perfeição! Aqui estão alguns laboratórios práticos para reforçar sua compreensão de redirecionamento de entrada/saída e pipelines:

  1. Redirecionamento de Entrada e Saída no Linux - Pratique o controle do fluxo de dados dos comandos manipulando a saída padrão (stdout), erro padrão (stderr) e entrada padrão (stdin) usando operadores como >, >>, 2> e o comando tee.
  2. Controle de Sequência e Pipeline no Linux - Aprenda a controlar sequências de execução de comandos, utilizar pipelines e alavancar poderosas ferramentas de processamento de texto como cut, grep, wc, sort e uniq.
  3. Redirecionamento de Fluxo de Dados - Aprenda a arte da redireção de fluxo no Linux, incluindo a manipulação de fluxos de entrada, saída e erro padrão, combinação de saídas e utilização de /dev/null.

Estes laboratórios ajudarão você a aplicar os conceitos de piping e redirecionamento em cenários reais e a ganhar confiança na manipulação de dados da linha de comando.

Questionário

Qual caractere único representa o operador pipe em um comando Linux? Por favor, responda apenas com o símbolo.