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):
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 >:
echo "Hello everyone" > greetings.txtEste comando executa echo e redireciona sua saída para o arquivo greetings.txt.
[!IMPORTANTE] Se o arquivo
greetings.txtnã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):
cat greetings.txtAnexando 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 >>:
echo "New line of text" >> greetings.txtAgora, 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):
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 >:
cat notes.txt info.txt > combined.txtSe você tentar ler um arquivo que não existe, cat escreverá uma mensagem de erro:
cat nonexistent_file.txt
# Output:
# cat: nonexistent_file.txt: No such file or directoryExperimente você mesmo
Exercício 1: Crie um arquivo com uma saudação
Crie um arquivo chamado 'hello.txt' contendo exatamente o texto 'Hello World' usando echo e o operador >.
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
Anexe a linha 'Linux is fun' ao final do arquivo 'notes.txt' existente sem excluir seu conteúdo atual.
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
Concatene o conteúdo dos arquivos 'notes.txt' e 'info.txt' e salve a saída combinada em um novo arquivo chamado 'combined.txt'.
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