Pular para o conteúdo principal
Módulo 3 · Lição 1 de 26/11 no curso~15 min
Lições do módulo (1/2)

Saída e redirecionamentos (echo, cat, >)

No Linux, quase todos os comandos leem dados de um fluxo de entrada e gravam os resultados em um fluxo de saída. Esses canais são chamados de fluxos padrão:

  • Entrada padrão (stdin): O fluxo a partir do qual o comando lê sua entrada (o padrão é o teclado).
  • Saída Padrão (stdout): O fluxo no qual o comando grava sua saída bem-sucedida (o padrão é a tela do terminal).
  • Erro Padrão (stderr): O fluxo no qual o comando grava suas mensagens de erro (o padrão é a tela).

Usando a linha de comando, podemos redirecionar esses fluxos para salvar os resultados diretamente em arquivos.


Imprimindo texto: echo

O comando echo simplesmente escreve seus argumentos em sua saída padrão (a tela):

Bash
echo "Hello everyone"

Redirecionando saída (substituir): >

Se quiser salvar a saída de um comando em um arquivo em vez de exibi-lo na tela, você pode usar o operador de redirecionamento maior que >:

Bash
echo "Hello everyone" > greetings.txt

Este comando executa echo e redireciona sua saída para o arquivo greetings.txt.

[!IMPORTANTE] Se o arquivo greetings.txt não existir, ele será criado. Se já existir, seu conteúdo existente será completamente excluído e substituído pela nova saída.


Lendo o conteúdo do arquivo: cat

Para visualizar o conteúdo de um ou mais arquivos de texto dinamicamente, use o comando cat (abreviação de concatenate):

Bash
cat greetings.txt

Anexando saída: >>

Se você quiser acrescentar novas linhas ao final de um arquivo existente em vez de substituí-lo, você deve usar o operador de acréscimo >>:

Bash
echo "New line of text" >> greetings.txt

Agora, a leitura do arquivo com cat greetings.txt mostrará a primeira e a segunda linha.


Exemplos de uso e erros comuns

Você pode passar vários arquivos para cat ao mesmo tempo para exibi-los sequencialmente (concatenados):

Bash
cat notes.txt info.txt
# Output:
# Keep learning Linux!
# Linux is awesome.

Você pode redirecionar a saída combinada para um terceiro arquivo usando o operador >:

Bash
cat notes.txt info.txt > combined.txt

Se você tentar ler um arquivo que não existe, cat escreverá uma mensagem de erro:

Bash
cat nonexistent_file.txt
# Output:
# cat: nonexistent_file.txt: No such file or directory

Experimente você mesmo

Exercício 1: Crie um arquivo com uma saudação

Exercício#linux.m3.l1.e1
Tentativas: 0Carregando…

Crie um arquivo chamado 'hello.txt' contendo exatamente o texto 'Hello World' usando echo e o operador >.

Carregando editor…
Mostrar dica

Use echo seguido pela string entre aspas, o operador > e hello.txt.

Solução disponível após 3 tentativas

Exercício 2: Anexar notas a um arquivo

Exercício#linux.m3.l1.e2
Tentativas: 0Carregando…

Anexe a linha 'Linux is fun' ao final do arquivo 'notes.txt' existente sem excluir seu conteúdo atual.

Carregando editor…
Mostrar dica

Use o operador >> para acrescentar texto ao arquivo notes.txt.

Solução disponível após 3 tentativas

Exercício 3: concatenar arquivos

Exercício#linux.m3.l1.e3
Tentativas: 0Carregando…

Concatene o conteúdo dos arquivos 'notes.txt' e 'info.txt' e salve a saída combinada em um novo arquivo chamado 'combined.txt'.

Carregando editor…
Mostrar dica

Use cat seguido dos nomes dos dois arquivos de origem e redirecione a saída com > para o arquivo de destino.

Solução disponível após 3 tentativas