Nesta aula do Curso de Linux Básico | XP IT Cursos, aprenderemos como funcionam os Fluxos Padrão Linux que também é conhecido como Linux Standard Streams.
E depois desta parte um pouco mais teórica, vamos ter uma introdução aos operadores de redirecionamento Linux.
Conhecer estes recursos ajudam no encadeamento de comandos e ajudam a ter mais agilidade na utilização do terminal Linux.
Com estes e outros conceitos que veremos na próxima aula 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 15 : Como funcionam os Fluxos Padrão Linux : Standard Streams Linux 🐧
🎦 Padrão de Fluxos Linux : Standard Streams Linux ✅💻
🕐 Conteúdo
⏺ Introdução
⏺ Pré Requisitos : Aula
⏺ Padrão de Fluxos de Dados Linux
⏺ No Linux tudo são arquivos !
⏺ O que são Standard Streams ou Fluxos Padrão Linux ?
⏺ Descritores de Arquivos x Fluxos Padrão Linux
⏺ O que podemos fazer com o Padrão de Fluxos Linux
⏺ Conhecendo alguns Operadores de Redirecionamento
⏺ Redirecionamento da Saída Padrão : Maior
⏺ Redirecionamento Acréscimo de Saída : Maior – Maior
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.
Aula # 15 : Fluxos Padrão Linux – Standard Streams Linux – Módulo 5 👩🏻💻🐧
[Canal Web Mundi.com + XP IT Cursos]
No Linux tudo são arquivos !
Agora vamos entender um conceito importante de se lembrar quando trabalhamos com Linux.
No Linux Tudo é tratado como Arquivos.
Memorize isso, pois é importante:
No Linux tudo são arquivos
A redução e canalização de tudo para arquivos é um recurso poderoso do Linux.
Isso permite refinar praticamente todos os aspectos do sistema.
Este conceito também ajudará a entender a utilização dos fluxos padrão Linux e comandos associados
Ou seja, neste sistema operacional tudo pode ser mapeado ou representado para o sistema de arquivos.
Até mesmo um dispositivos de hardware como um CD ou DVDROM, impressora, webcams, etc…
Os dispositivos de hardware que são mapeados como arquivos e são chamados de Arquivos de Dispositivos.
Isso significa que os programas podem interagir com os dispositivos de hardware de uma forma padronizada, porque para o sistema, os dispositivos de hardware serão acessados como se fossem arquivos.
Um Arquivo de Dispositivo é um objeto do sistema que oferece uma interface para o dispositivo ou hardware em si.
Programas em execução, Processos do Kernel, Sockets, partições de disco, etc…
No Linux, são tratados e manipulado como arquivos.
Entendendo um fluxo
Para simplificar o entendimento dos Fluxos Padrão Linux vamos compara-lo com o fluxo de agua de encanamento de uma casa ou construção.
No encanamento, existe uma extremidade por onde a água entra e vamos dar o nome aqui de fluxo de entrada e por onde ela sai vamos dar o nome de fluxo de saída.
Esse basicamente é o padrão do fluxo de um encanamento de água.
Porém este esquema é o mundo perfeito e algo pode dar algo errado com o fluxo de água desse encanamento.
Mapeando um Erro ou Problema em um Fluxo
Como por exemplo um vazamento em um cano, nesse fluxo tenho 2 extremidades, uma entrada e uma saída, porém e se algo der errado, como um cano que estourou, o fluxo da água é alterado e neste caso temos um terceiro fluxo e vamos chama-lo de fluxo de erro.
Agora vamos trazer isso para o mundo Linux.
Assim como o fluxo de agua em um encanamento, no Linux qualquer comando que você está usando fornece uma extremidade para cada fluxo.
O Fluxo de Entrada, de Fluxo de Saída e de Erro.
Mas fique tranquilo, vamos nos aprofundar um pouco mais no assunto a seguir.
O que são Standard Streams ou Fluxos Padrão Linux ?
Montamos o esquema a seguir que para melhor compreensão do assunto.
No caso, os Fluxos Padrão do Linux são 3: entrada/saída/erro e recebem os seguintes nomes:
Fluxos Padrão Linux
- stdin (do inglês standard input) ou entrada padrão
- stdout (do inglês standard output) ou saída padrão
- stderr (do inglês standard error) ou erro padrão.
Estes fluxos também são chamados de Linux Standard Streams e – como já falamos – são tratados como arquivos pelo Linux.
E por se tratar de um arquivo existe um recurso chamado descritor de arquivo que serve para identificar cada fluxo ou arquivo
Os fluxos estão presentes não só em sistemas operacionais Linux e como também no Unix.
Os fluxos ,assim como a ideia do cano que vimos anteriormente, são canais de entrada/saída/erro por onde flui os dados entre um programa de computador e o seu ambiente (normalmente um terminal de texto).
Eles são conectados do início ao fim da execução de um programa ou processo Linux.
Como funcionam os Fluxos Padrão Linux?
Durante as interações entre o usuário e o terminal, a entrada padrão é transmitida normalmente através do teclado do usuário.
A saída padrão ou erro padrão são exibidos na tela e terminal do usuário como texto.
Vamos a um exemplo prático utilizando o comando ls, vou minimizar o esquema e vamos abrir um terminal.
No teclado, quando digito um comando Linux no terminal, faço uso dos fluxos, se eu digitar:
ls webmundi
Neste caso, quero que o sistema me liste o conteúdo do diretório webmundi, como vimos em aulas anteriores.
Ao teclar Enter, o Fluxo stdin / entrada padrão transmite comando e o sistema processa o comando e o resultado é exibido conforme solicitado.
Se o diretório webmundi existe o comando foi executado com sucesso, e a saída é tratada por meio do fluxo stdout ou saída padrão.
Vou excluir o diretório webmundi
rm -r webmundi/
e agora vou executar o comando ls webmundi novamente
Veja que agora o diretório webmundi não existe e por isso, ocorre um erro que é tratado pelo fluxo stderr ou erro padrão e exibido em tela
Exemplo: diretório webmundi não existe
Descritores de Arquivo x Fluxos Padrão Linux
A tabela a seguir, ajuda a entender o relacionamento entre Fluxos e Descritores.
Como falamos, cada fluxo padrão Linux é tratado como se fosse um arquivo e com isso é associado a um processo e recebe um número para identificá-lo e a este conceito damos o nome de descritor de arquivo.
Quando uma uma ação deve ser executada, o descritor de arquivo é usado para identificar o fluxo que se quer trabalhar.
O que podemos fazer com o padrão de fluxos Linux ?
Utilizando o recurso dos fluxos Linux juntamente com Redirecionadores e o Pipe, podemos encadear a execução de comandos no Linux no terminal, controlando o fluxo, assim como fazemos no popular jogo pipes ou encanador que existe no PC ou celular.
Com isso, executamos o comando 1 que gera uma saída ou erro que pode ser incorporada por outro comando.
O Comando 2 Incorpora a saída do comando anterior, executa as instruções e gera uma saída ou erro que pode ser incorporada por outro comando
E assim sucessivamente, até que o ultimo comando executa as instruções e exibe o resultado dos comandos em um local específico (na tela ou um arquivo).
Introdução Operadores de Redirecionamento
Agora vamos falar sobre os Operadores de Redirecionamento
Operadores de redirecionamento
Os redirecionadores são um subconjunto de operadores de controle que permitem que você direcione a entrada ou saída (standard stream/fluxo de dados Linux) do seu comando Linux.
Nesta aula, vamos falar sobre os redirecionamento de saída e na próxima nos aprofundamos um pouco mais neste recurso, então vamos lá.
Operadores de Redirecionamento de Saída
Redirecionamento de Saída : Maior : “>“
Comando cal : Linux Termnal
Antes de falar sobre o redirecionamento, vamos conhecer o comando cal que é utilizado para mostrar um calendário formatado na linha de comandos
A Sintaxe é:
cal [opções] [[[dia] mês] ano]
O comando cal é antigo, vem do Unix , mas irá servir para mostrar o funcionamento dos redirecionadores de saída que é o objetivo desta aula.
Então vamos lá, vamos ao nosso velho conhecido Terminal Linux
Se eu digitar cal, sem opção nenhuma, o terminal mostra o calendário do mês atual
Agora vamos supor que eu quero armazenar este calendário em um arquivo de texto .txt
Ou seja, quero redirecionar a saída do comando cal em um arquivo texto.
Para isso, utilizamos o operador de redirecionamento “>” (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.
cal > mesatual.txt
Repare que as saídas que são redirecionadas para um arquivo não são exibidas na tela ou terminal, isso porque redirecionamos o fluxo de saída (stdout) para um arquivo.
cat mesatual.txt
Só será exibido algo em tela se ocorrer um erro padrão ou stderr.
vamos a um exemplo .
cal webmundi > mes.txt
ls
E veja foi lançado um erro no terminal e o arquivo mes.txt é gerado sem conteúdo pois nada foi direcionado ao fluxo padrão stdout.
Agora vamos supor que quero armazenar o próximo mês em nosso arquivo mesatual.txt
Vou dar um cat para ver o conteúdo atual do nosso arquivo:
cat mesatual.txt
Por enquanto, tenho o mês de março de 2022 e quero acrescentar o abril.
O comando cal para isso é
cal 04 2022
Vamos então redirecionar a saída para o arquivo mesatual.txt
cal 04 2022 > mestatual.txt
Vou dar um cat para ver o conteúdo atual do nosso arquivo:
cat mesatual.txt
E veja que o mês de março sumiu do arquivo.
E porque isso acontece ?
Isso ocorre pois quando usamos o operador de redirecionamento “>” (Maior) ele cria um arquivo novo e sobrescreve o conteúdo do arquivo anterior para acrescentar temos que usar um outro operador que é o Redirecionamento Acréscimo de Saída : Maior – Maior : “>>”
Histórico dos comandos executados
cal
cal > mesatual.txt
cat mesatual.txt
cal webmundi > mes.txt
ls
cal 04 2022
cal 04 2022 > mestatual.txt
cat mesatual.txt
Redirecionamento Acréscimo de Saída : Maior – Maior : “>>”
O Redirecionamento de acréscimo de saída faz o mesmo que o saída padrão, só que invés de sobrescrever o arquivo de saída, ele acrescenta dados a este arquivo.
O Sinal Maior- Maior ( >> ) representa este operador.
Se o arquivo para o qual você está redirecionando não existir, ele será criado.
E se o arquivo ja existir, o comando anexará dados a ele sem sobrescrevê-lo.
Então vamos fazer nossos comandos no terminal, agora utilizando o redirecionamento de acréscimo
rm mesatual.txt
cal >> mesatual.txt
cat mesatual.txt
cal 04 2022 >> mestatual.txt
cat mesatual.txt
E veja que agora deu certo.
Vale lembrar que o posso utilizar qualquer comando Linux seja com redirecionadores ou pipe que veremos em nossa próxima aula.
Veja um exemplo, vou usar o comando ls direcionando a saída para o arquivo mesatual.txt
ls -lha >> mestatual.txt
Resumo sobre os Redirecionadores de Saída Linux / Unix
“>” = cria arquivos
“>>” = adiciona saída do comando utilizado no final do arquivo
Materiais e leituras que recomendamos para você:
- Como instalar o Linux Mint 20 no Virtualbox 6.1 : Windows 10
- Como Instalar o SQL Developer Oracle no Linux
- Como Instalar o Servidor XAMPP no Linux – Localhost Apache MySQL PHP
- Instalação e configuração do Flutter no Windows 10
- Sobre as oportunidades em desenvolvimento Java
- Como Instalar Tema Escuro no Netbeans : Dark Mode
- Como atualizar o Windows 7 para Windows 10 Grátis
- Como aumentar sua produtividade no Windows com teclas de atalho
- Como se conectar a um computador remoto via Prompt de Comando
- Como Instalar o SQL Developer Oracle no Linux
- DBeaver : Alternativa ao SQL Server Management Studio Linux
- Como listar as maiores tabelas ou objetos Oracle
Loja WebMundi.com : Informática
-
Nova xiaomi tws fone de ouvido sem fio bluetooth 5.0 dual estéreo à prova d’ água esportes hd chamada earbud controle de toque fone de ouvido longo standby
-
Divoom Timebox Evo Bluetooth Portable Speaker with Clock Alarm Programmable LED Display for Pixel Art Creation Unique Gift
-
MIFA F10 Outdoor Wireless Bluetooth Stereo Portable Speaker Built-in mic Shock Resistance IPX6 Waterproof Speaker with Bass
-
Xcell XC-CM-19 Anvil aux 3,5mm Stereo Surround Music RGB Speakers Computer Sound Bar 2.0 PC Notebook Box
+ 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