Redirecionamentos e Pipes Linux – Aula 16 – Módulo 5

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest
Share on tumblr
Share on telegram
Share on whatsapp
Share on skype
Share on email

Nesta aula do Curso de Linux Básico | XP IT Cursos, aprenderemos a como utilizar redirecionamentos e pipes no terminal Linux.

Depois de nossa última aula em que entendemos a utilidade e uso dos Fluxos Padrão Linux, estamos aptos para nos aprofundar no redirecionamento e encadeamento de comandos e assim ter mais agilidade na utilização do terminal Linux.

Saber como manipular estas ferramentas com os diferentes fluxos de dados Linux aumentará muito sua produtividade.

Com estes recursos será possível construir comandos no shell que permitem por exemplo que, ao invés digitarmos, 2 ou mais comandos no terminal, seja possível digitar apenas 1 único comando, que utilizando redirecionamento e pipes seja possível encadear a execução dos demais comandos, otimizando a operação do Terminal Linux.



Curso Linux : Básico
🎦 Módulo 05 : Aula 16 : Como utilizar os Redirecionamentos e Pipes Linux 🐧


🎦 Como Usar Redirecionamento e Pipe Linux ✅💻
🕐 Conteúdo

⏺ Introdução
⏺ Pré Requisitos : Aula
⏺ Revisão Fluxos Padrão Linux
⏺ Revisão Redirecionamento de fluxo de saída > e >>
⏺ Redirecionamentos de fluxo Entrada < (Padrão), << (Here Document) e <<< (Here String)
⏺ Redirecionamento de fluxo Erros 2> e 2>>
⏺ Redirecionadores Não Padrão &> e &>>
⏺ Pipe “|”
⏺ Diferença entre PIPE e Redirecionamento

Esta aula faz parte do Curso Linux Básico da XP IT Cursos, uma plataforma ensino completa que irá proporcionar seu aprendizado de uma forma rápida e consistente.

XP IT Cursos

XP IT Cursos oferece uma oferta a preços acessíveis a Plataforma de Aprendizado com Vídeo Aulas do WebMundi.com + Trilha de Aprendizagem,  Material didático em PDF, exercícios de fixação / Revisão de Conteúdo, questionários e o final do curso o Certificado de Conclusão.


+ Garanta seu desconto exclusivo em : https://www.xpitcursos.com.br

Aula # 16 : Como funcionam os Redirecionadores e os Pipes do Linux – Módulo 5 👩🏻‍💻🐧
[Canal Web Mundi.com + XP IT Cursos]

Assistir VIDEO DO YOUTUBE

https://www.youtube.com/watch?v=_qZyHR6oiB8
Curso Linux Básico – Módulo 05 : Aula 15 – Padrão Fluxos Linux 🐧

Revisão Fluxos Padrão Linux : Linux Standard Streams

Fluxos Padrão Linux : Linux Standard Streams - Aula 15 - Módulo 5
Fluxos Padrão Linux : Linux Standard Streams – Aula 15 – Módulo 5

Fluxos Padrão Linux

Com vimos na aula 15 deste curso, o Linux possui 3 Fluxos Padrão:

  • entrada padrão ( stdin )
  • saída padrão ( stdout )
  • erro padrão ( stderr )

Os fluxos também são numerados por descritores de arquivos (file Descritors):

  • stdin  ( 0 )
  • stdout ( 1 )
  • stderr ( 2 )

Durante as interações padrão entre o usuário e o terminal, a entrada padrão é transmitida através do teclado do usuário. 

A saída padrão e o erro padrão são exibidos no terminal do usuário como texto. 

Os  fluxos padrão Linux podem ser manipulados através de operadores de redirecionamento e pipes podemos até mesmo programar na linha de comando Linux, também conhecido como bash ou shell programming.

Você pode até se perguntar porque aprender linha de comando Linux ?

Já ouvi muita gente dizer que a Linha

A linha de comando Linux vai acabar ?

Porque usar comandos de terminal se já temos a interface gráfica no Linux?

Para aqueles que acham que é mais fácil usar a interface gráfica sinto informar que estão errados.

A Linha de comando ou shell esta mais vivo e continua muito forte no mundo Linux.

O Shell é uma maneira eficiente de coletar e processar informações rapidamente, criar novos scripts e configurar sistemas.

Redirecionamentos e Pipes Linux - Aula 16 - Módulo 5
Redirecionamentos e Pipes Linux – Aula 16 – Módulo 5

Revisão Redirecionadores de Saída

Como vimos podemos redirecionar os fluxos de saída do Linux usando os redirecionadores de saída.

Redirecionadores de Saída

Redirecionamento de Saída : Maior : “>“

Para isso, utilizamos o redirecionador “>” (Maior) pode enviar a saída de um comando para um arquivo, ou ler a partir de um arquivo.

Redirecionamento da Saída Padrão : Maior : “>“

O Sinal Maior ( > ) representa este operador. 

Resumo sobre os Redirecionadores de Saída Linux / Unix

Resumo sobre os Redirecionadores de Saída Linux / Unix
Resumo sobre os Redirecionadores de Saída Linux / Unix

“>” = cria arquivos

“>>” = adiciona saída do comando utilizado no final do arquivo

Mas assim como a saída, no Linux podemos manipular todos fluxos padrão como a entrada, os erros e também redirecionar o fluxo de um programa ou comando para outro comando ou programa. Então vamos continuar aprendendo como se faz a manipulação dos fluxos padrão Linux usando redirecionadores e pipes.

Redirecionadores do Fluxo Entrada

Redirecionando a entrada padrão

O primeiro redirecionamento que vamos conhecer é o de entrada padrão.

O sinal (Menor) < representa este operador.

O redirecionador de entrada extrai dados em um fluxo de uma determinada fonte. 

Normalmente, os programas recebem suas entradas do teclado. 

No entanto, os dados podem ser obtidos de outra fonte, como um arquivo.

Mas vamos a mão na massa para demonstrar esta funcionalidade.

Vou acessar o Linux e com o terminal aberto vamos usar o comando cat para isso.

Antes de vermos este redirecionador , vamos ver o conteúdo do arquivo webmundi.txt

cat webmundi.txt

E veja que o cat mostra o conteúdo do arquivo webmundi.txt

Agora vamos ao comando rodar o comando com o redirecionador de entrada padrão

cat < webmundi.txt

E veja que ao utilizarmos o redirecionador de entrada padrão < vemos que o resultado é o mesmo.

Utilizando o redirecionador de entrada padrão, o comando cat receberá como entrada o arquivo “webmundi.txt” e a imprimirá na tela do terminal. 

Aproveitando este momento vamos aprender mais alguns recursos do comando cat.

Além de exibir o conteúdo de um arquivo podemos também usar o cat para copiar um arquivo texto como no exemplo abaixo usando o redirecionador de saída que aprendemos em nossa ultima aula.

cat webmundi.txt > novotexto.txt

ls

Exibindo o arquivo copiado

cat < novotexto.txt

Esclarecendo o verdadeiro funcionamento e significado do comando cat é copiar e colar. 

Muitas pessoas acham que o cat é usado somente para visualizar ou criar um arquivo, mas isso não é verdade, a principal função do comando cat é copiar a entrada e colar que é dar a saída para a tela.

É importante entender este conceito, pois veremos mais adiante que o comportamento do cat não sera visualizar o conteúdo ou aceitar uma entrada de texto

O nome do comando cat vem de conCAT de concatenar

Tanto podemos gerar uma saída com cat na tela do terminal informando os arquivos que queremos listar em tela.

Exemplo:

cat webmundi.txt mesatual.txt

E veja que ele copiou a entrada dos 2 arquivos e mandou a saída concatenada em tela

Redirecionamento de entrada padrão é usado para inserir dados em um comando a partir de um arquivo especificado em vez de utilizar um teclado.

Exemplo:

cat < webmundi.txt
Seja bem vindo ao Canal WebMundi.com.
Espero que esteja gostando desta aula, se puder, se Insreva no canal e deixe seu like neste vídeo.
Para apoiar a produção de conteúdo, faça um PIX de Qualquer valor. 
Chave:[email protected]
Obrigado
                    .   ,- Ajude-nos a Decolar !
                   .'.
                   |o|
                  .'o'.
                  |.-.|
                  '   '
                   ( )
                    )
                   ( )

               ____
          .-'""p 8o""`-.
       .-'8888P'Y.`Y[ ' `-.
     ,']88888b.J8oo_      '`.
   ,' ,88888888888["        Y`.
  /   8888888888P            Y8\
 /    Y8888888P'             ]88\
:     `Y88'   P              `888:
:       Y8.oP '- >            Y88:
|          `Yb  __             `'|
:            `'d8888bo.          :
:             d88888888ooo.      ;
 \            Y88888888888P     /
  \            `Y88888888P     /
   `.            d88888P'    ,'
     `.          888PP'    ,'
       `-.      d8P'    ,-'   -Canal WebMundi.com Youtube-
          `-.,,_'__,,.-'        - bit.ly/canal-webmundi-

Vamos a mais um exemplo:

Vou criar um arquivo texto chamado animais.txt

nano animais.txt

Nele vou inserir animais como abaixo:

Macaco
Galinha
Pato
Vaca
Cachorro
Gato
Zebra
Capivara
Porco

Repare que os animais não estão listados em ordem alfabética.

Depois vou salvar e sair

Agora vamos supor que você precise desta lista em ordem alfabética, para isso podemos usar o comando sort redirecionando a entrada padrão para este comando

sort < animais.txt

E veja que a saída do comando

webmundi@webmundi-VirtualBox:~$ sort < animais.txt
Cachorro
Capivara
Galinha
Gato
Macaco
Pato
Porco
Vaca
Zebra

Porém podemos sofisticar o comando um pouco mais e redirecionar a saída dos resultados classificados para um novo arquivo:

sort < animais.txt > animais-alfabetico.txt

cat < animais-alfabetico.txt

Here documents : <<

Agora vamos conhecer um redirecionador de entrada conhecido como Here Document ou documento aqui.

O sinal (Menor-Menor) << representa este operador. 

Ao contrário dos redirecionamentos de saída, o operador << age de maneira diferente em comparação a este operadores.

here document é um bloco de texto ou código de proposito especial que é redirecionado para um programa interativo ou um comando.

Diferentes tipos de linguagens de script, como bashsh e csh, podem receber entradas diretamente da linha de comando, sem usar nenhum arquivo de texto.

Como veremos, no exemplo a seguir com o comando cat.

cat << fim

Neste caso, o operador here document é usado para inserir dados no comando, ao passo que a palavra que vem depois do operador não especifica um nome do arquivo de arquivo a ser gerado, mas sim um delimitador de fim de arquivo.

Ou seja esta palavra é interpretada como fim da entrada de dados e não será levada em consideração como conteúdo do arquivo, portanto, o cat não a exibirá:

cat << fim
> O texto digitado aqui será utilizado como entrada para o comando cat
> Para terminar a digitação / Entrada do comando basta digitar 
> o delimitador definido depois do operador here document <<
> fim
O texto digitado aqui será utilizado como entrada para o comando cat
Para terminar a digitação / Entrada do comando basta digitar 
o delimitador definido depois do operador here document <<

Com o here document podemos alimentar uma lista de comandos para um programa ou comando como por exemplo cat, ftp, editor de texto, etc…

Here Strings : <<<

O sinal (Menor-Menor-Menor) <<< representa este operador. 

Este operador é uma maneira de transformar uma string na entrada padrão (stdin) de um programa ou comando

  • Vamos a um exemplo com o comando tr:.
    O ‘tr’ é um comando para manipular arquivos e saídas, ele basicamente muda, traduz ou deleta caracteres em uma string ou um arquivo contendo um texto
    O Comando a seguir pega uma string com o comando echo e envia ao comando tr para transforma a string com letras maiúsculas.
    echo “webmundi.com” | tr a-z A-Z
  • Porém posso digitar o comando usando o here strings que ficaria, mais limpo e simples de entender :
    tr a-z A-Z <<< “webmundi.com

Redirecionamentos de fluxo Erro

Agora vamos aprender a manipular o fluxo de erro padrão do Linux

Como já vimos o fluxo padrão stdout exibe os resultados esperados de saída de um comando bem sucedido. 

Porém se ocorrer erro, ele será gerenciado de forma diferente. 

Os erros são rotulados como descritor de arquivo 2 (a saída padrão é o descritor de arquivo fd1). 

Quando um programa ou script não gera os resultados esperados, ele gera um erro. 

O erro geralmente é enviado para o stderr e pode ser manipulado assim como os outros fluxos.

O sinal (2 – Maior ) 2> representa o operador de redirecionador de erro padrão.

E o sinal (2 – Maior – Maior) 2>> ****o operador de **redirecionador de erro de Acréscimo
(ambos usam o descritor de arquivo 2 – fd2).

Recapitulando :**

  • ‘2>’ sobrescreve o arquivo em questão.
  • ‘2>>’ adiciona a saída do comando ao final do arquivo, sem apagá-lo.

Vamos agora executar o comando find e salvar todas as mensagens de erro no arquivo find.error.txt:

find / -name “*.conf” 2> find.erros.txt

Veja que a execução deste comando mostra a saída do que é bem sucedido em tela pois é tratada pelo fluxo stdout

Já os erros não são exibidos em tela, pois são tratados pelo fluxo stderr que está sendo redirecionados ao nosso arquivo find.erros.txt

Ao final da execução do comando podemos visualizar o arquivo find.erros.txt com o cat :

cat find.erros.txt

Exemplo de saída do comando cat:

find: '/boot/grub2': Permissão negada
find: '/proc/tty/driver': Permissão negada
find: '/proc/1/task/1/fd': Permissão negada
find: '/proc/1/task/1/fdinfo': Permissão negada

Podemos também redirecionar o fluxo padrão de saída (stdout) para um arquivo no mesmo comando que utilizamos anteriormente.

Ou seja, a saída vai pra um arquivo, por exemplos resultados.txt e os erros para outro arquivo chamado erros.txt, para isso, vamos fazer uma pequena alteração usando o redirecionador padrão de saída através do comando:

find / -name "*.conf" >resultados.txt 2>erros.txt

vamos agora ver os resultados de ambos arquivos com cat.

cat resultados.txt

cat erros.txt

Este tipo de abordagem é útil em scripts de shell ou qualquer outra finalidade para verificar o que deu certo e errado na execução de um comando shell.

Redirecionadores Não Padrão

Além do comando que acabamos de ver para redirecionar os erros e a saída temos também temos Os Operadores Não Padrão que direcionam tanto a saída padrão (stdout) quanto o erro padrão (stderr) para um arquivo. 

O sinal & (e comercial) seguido pelo sinal > (maior) ou >> (maior-maior) representam esses operadores. 

Vale lembrar que estes operadores (&> &>> ) redirecionam todas as saídas (padrão e erro) do comando para um arquivo.

  • ‘&>’ sobrescreve o arquivo em questão.
  • ‘&>>’ adiciona a saída do comando ao final do arquivo, sem apagá-lo.

Exemplos:

find / -name “*.conf” &>resultados.txt

Pipe

Agora vamos conhecer a funcionalidade do Conector pipe que é usado para conectar um comando a outro encadeando a execução.

Com o conector Pipe podemos direcionar o processamento de comandos.
Ele passa a saída de um comando para a entrada de outro comando. 

O pipe do Linux é representado por uma barra vertical ( | ). 

O Pipe é semelhante a um tubo de encanamento físico de uma casa que move a agua de um local para outro. 

A saída de um comando entra no pipe de um lado e deixa o pipe como entrada para outro comando do outro lado.

Apenas os dados filtrados retornados pelo segundo programa serão exibidos.

Estes comandos de filtros veremos em nossa próxima aula do nosso curso.

Alguns exemplos de uso do operador de pipe em ação.

Vamos a prática no terminal.

ls /etc | less

Este comando faz com que a listagem dos arquivos do diretório /etc seja paginada pelo aplicativo less.

Para sair do comando less digite CTRL + C e depois q (quit)

O mesmo vale para o comando more

cat webmundi.txt | more
cat webmundi.txt | less

Contando arquivos com pipe, ls e wc

ls | wc -l

Ordenando uma lista com Pipe

Ordenando uma lista

cat animais.txt

cat animais.txt | sort

Invertendo a ordem de classificação com pipe e sort:

cat animais.txt | sort -r

Diferença entre PIPE e Redirecionamentos

Embora a funcionalidade do pipe possa parecer semelhante ao redirecionamento de saída, a diferença é que os pipes redirecionam dados de um comando para outro, enquanto redirecionadores de saída (> e >>) são usados para redirecionar conteúdo somente para arquivos.

O que tratamos aqui sobre pipes e redirecionamentos é só um arranhão superficial neste assunto e no que estes recursos podem oferecer.

Com a utilização dos fluxo padrão, redirecionadores e pipes é possível programar no shell Linux, através da construção de scripts ao que se da o nome de shell script ou bash script.

A programação do Shell não é o foco deste curso, pois é um assunto bem extenso que daria um curso sobre o tema, porém a ideia aqui é dar uma base para conhecimento básico sobre fluxo padrão, redirecionadores e pipes.

Em nossa próxima aula, aprenderemos a utilizar o recurso de filtros com pipes e redirecionamentos.

Os filtros são comandos que alteram o redirecionamento e a saída de pipes. 
Os comandos de filtro são comandos do Linux que podem ser usados sem pipes como por exemplo find, grep, wc, etc..

Porém quando usados em conjunto com os recursos apresentados aqui permitem um tratamento maior dos dados e comandos executados.

E veremos isso no próximo vídeo do canal e publicação do site.


Materiais e leituras que recomendamos para você:


Loja WebMundi.com : Informática

+ Ofertas Informática, Computadores e Tecnologia


Obrigado

Esperamos que esta publicação tenha lhe ajudado a aprofundar seus conhecimentos em linux.

Qual é sua experiência em Linux ?

Conte pra nós a sua experiência, adoraríamos saber.

Como entusiasta em desenvolvimento de software, queremos enriquecer sua experiência e conhecimento sobre este produto. 

Se você gostou deste post, compartilhe com seus amigos ou nos acompanhe pelas redes sociais.

Tem alguma dúvida ou observação a fazer ? 

Além disso, você pode nos ajudar a criar mais conteúdos como este. Como ?

Adquira produtos em nossa Loja Virtual, uma parceria do webmundi.com com as maiores plataformas de comércio eletrônico do Brasil.

Lembrando que comprando em nossa loja você apoia a criação de vídeos gratuitos aqui no site e em nosso canal do YouTube.

Prestigie também nossos apoiadores e anunciantes conhecendo seus produtos e serviços.

É simples e rápido e assim você ajuda a gente a crescer. 👍🏼

Obrigado e um grande abraço

Gostou do Post ? Compartilhe com seus amigos nas redes sociais.

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest
Share on tumblr
Share on telegram
Share on whatsapp
Share on skype
Share on email

☑️ Comunidades Colaborativas de Aprendizagem 💬

❓ Esclareça suas dúvidas e ajude outras pessoas a aprender sobre o assunto proposto em nossa comunidade colaborativa no Facebook.

Compartilhe ideias e atividades com outros membros enquanto aprendemos juntos em um ambiente virtual criado e mantido pelo webmundi.com.
Aproveite essa oportunidade gratuita para aprimorar seus conhecimentos e participar de discussões sobre o assunto que você está interessado.

☑️ Grupos WebMundi.com Facebook

✔️ Banco de dados : Dicas
▶️ https://bit.ly/dbbrasil

✔️ Windows Dicas
▶️ https://bit.ly/windowsdicas

✔️ Linux : Dicas, Truques e Tutoriais
▶️ https://bit.ly/linuxdicas

 

✔️ Dev Brasil : Desenvolvimento de Software : Programação (Java, Python, Javascript, Flutter, PHP, Html,CSS e muito mais)
▶️ https://bit.ly/devbrasil

✔️ Virtualização de Computadores : Tecnologia
▶️ https://bit.ly/virtualizabr

APOIE O WEBMUNDI.COM

Apoie o Projeto WebMundi.com doando 1 Real !

Se você é fã do conteúdo gratuito e de qualidade que o WebMundi.com oferece no Site, Youtube e grupos, agora é a hora de demonstrar seu apoio e ajudar a mantê-lo disponível.
Qualquer doação, por menor que seja, será muito valiosa para nós e fará toda a diferença.

Basta utilizar o PIX ou o botão VALEU do Youtube para fazer sua contribuição.
Não perca essa oportunidade de ajudar a manter o WebMundi.com ativo e fornecer ainda mais conteúdo de qualidade para você e para outros.

Faça sua doação agora e seja parte da nossa comunidade de apoio!

Ajude a manter nossa criação de conteúdo e operação em funcionamento

Estrutura WebMundi | Sites e Canal Youtube

Ter presença na Internet implica em custos como:

  • Domínios (www.webmundi.com / www.webmundi.org)
  • Hospedagem (local onde fica a estrutura do site / páginas / banco de dados)
  • Softwares (programas utilizados para montar e manter o site em operação e edição de vídeo)
  • Layout e Desenvolvimento (profissionais que constroem, mantêm e divulgam o site e o canal)
  • Produção de Conteúdo (Profissionais como Redatores, Produtores, Editores de vídeo, etc…)
  • Certificados de Segurança (cadeado / segurança da página, possibilita a segurança na navegação e seus dados)
  • Manutenção do Site (atualizações do site, criação de novas páginas)

Loja Virtual | WebMundi.com

Outra forma de apoiar a criação de conteúdo no YouTube e em nossos sites é nossa loja virtual

Parceria do WebMundi.com com as maiores plataformas de comércio eletrônico do Brasil.

Nossa loja é integrada com nossos parceiros associados e possui uma ampla variedade de produtos de marcas renomadas.
O Cliente ao escolher um produto é direcionado a loja parceira onde pode fazer sua compra com tranquilidade em um ambiente seguro e 100% confiável.

Confira:

Loja Virtual WebMundi.com

Alguns de nossos parceiros associados:

AliExpress Parceiro Magalu Amazon Associados

Obrigado pela confiança e preferência.

TALVEZ VOCÊ GOSTE TAMBÉM

Mais Assistidos
Como BAIXAR a ISO do WINDOWS 10 OFICIAL e Criar um Pendrive Bootável
Play Video about Como BAIXAR a ISO do WINDOWS 10 OFICIAL e Criar um Pendrive Bootável
Como instalar o Oracle Virtualbox e Criar Máquinas Virtuais (VMs)
Play Video about Como instalar o Oracle Virtualbox e Criar Máquinas Virtuais (VMs)
atualizar windows 7 para windows 10 2020
Play Video about atualizar windows 7 para windows 10 2020
Instalar o Servidor XAMPP no Linux - Localhost Apache MySQL PHP
Play Video about Instalar o Servidor XAMPP no Linux - Localhost Apache MySQL PHP
Como BAIXAR a ISO do WINDOWS 11 OFICIAL e Criar um Pendrive Bootável
Play Video about Como BAIXAR a ISO do WINDOWS 11 OFICIAL e Criar um Pendrive Bootável
Como Transferir o Windows do HD para um SSD : Migrar Windows 10 para SSD sem formatar
Play Video about Como Transferir o Windows do HD para um SSD : Migrar Windows 10 para SSD sem formatar
Como Instalar MySQL + MySQL Workbench : Windows 10
Play Video about Como Instalar MySQL + MySQL Workbench : Windows 10
Instalação Eclipse IDE - Windows
Play Video about Instalação Eclipse IDE - Windows

Discord : WebMundi.com

Uma comunidade apaixonada por tecnologia, onde entusiastas, estudantes e profissionais de TI se reúnem.

Faça Parte do nossa Comunidade!

Junte-se a nós para aprender, colaborar e expandir seus horizontes na área de informática! 🚀
Entrar
Recentes