Redirecionamento de entrada e saída (>, >>, <)
Domine o redirecionamento da saída de comandos para arquivos e o uso de arquivos como entrada para comandos, tornando os scripts mais flexíveis.
Redirecionamento de entrada e saída (>, >>, <) é uma aula grátis de Linux Command Line & Bash Scripting Mastery no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Linux Command Line & Bash Scripting Mastery, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Linux Command Line & Bash Scripting Mastery inclui 4 aulas no total.
O que é o redirecionamento de E/S?
No Linux, os comandos geralmente produzem uma saída ou exigem uma entrada. O redirecionamento de entrada/saída (E/S) permite alterar de onde um comando obtém sua entrada ou para onde envia sua saída.
Em vez de apenas ver a saída na tela (o terminal), você pode salvá-la em um arquivo ou até mesmo enviar diretamente o conteúdo de um arquivo para outro comando.
Entendendo os fluxos padrão
Todo comando do Linux interage com três fluxos de dados "padrão":
- Entrada padrão (STDIN): Onde um comando espera receber a entrada (geralmente do teclado).
- Saída padrão (STDOUT): Onde um comando envia sua saída normal (geralmente para a tela).
- Erro padrão (STDERR): Onde um comando envia mensagens de erro (também geralmente para a tela).
O redirecionamento permite alterar esses destinos ou fontes padrão.
Capturando a saída com '>'
O operador > é usado para redirecionar a saída padrão (STDOUT) de um comando para um arquivo. Em vez de exibir o resultado na tela, a saída do comando será gravada no arquivo especificado.
Importante: Se o arquivo já existir, > substituirá todo o seu conteúdo pela nova saída. Tenha cuidado para não apagar dados importantes acidentalmente!
Exemplo: salvando a saída de um comando
Vamos salvar a saída do comando ls -l em um arquivo chamado my_files.txt. Depois, veremos o conteúdo do arquivo usando cat.
ls -l > my_files.txt
cat my_files.txtAdicionando conteúdo a um arquivo com '>>'
Às vezes, você não quer substituir um arquivo; quer adicionar novo conteúdo ao final dele. É para isso que serve o operador >>!
>> redireciona a saída padrão (STDOUT) para um arquivo, mas, se o arquivo já existir, acrescentará a nova saída ao final dele, preservando o conteúdo existente.
Exemplo: acrescentando conteúdo a um registro
Primeiro, crie um arquivo simples. Depois, use >> para adicionar outra linha a ele. Observe como o conteúdo original é mantido.
echo "First line of log." > app_log.txt
echo "Second line added." >> app_log.txt
cat app_log.txtLidando com erros usando '2>'
E quanto às mensagens de erro? Elas vão para o erro padrão (STDERR). Para redirecionar o STDERR para um arquivo, usamos o descritor de arquivo 2 seguido do operador >: 2>.
Isso é extremamente útil para registrar erros sem poluir sua saída principal ou para depurar scripts.
Exemplo: registrando mensagens de erro
Vamos tentar listar um diretório que não existe. Normalmente, a mensagem de erro aparecerá na tela. Em vez disso, vamos redirecioná-la para errors.log.
ls /this/path/does/not/exist 2> errors.log
echo "Command finished. Check errors.log."
cat errors.logFornecendo entrada com '<'
O operador < é usado para redirecionar a entrada padrão (STDIN). Em vez de esperar que você digite a entrada pelo teclado, o comando lerá sua entrada diretamente do arquivo especificado.
Isso é muito útil para automatizar tarefas nas quais um comando espera muitas entradas ou quando você deseja processar diretamente o conteúdo de um arquivo.
Exemplo: ordenando a partir de um arquivo
Vamos criar um arquivo com nomes desordenados e, depois, usar o comando sort para ler a entrada desse arquivo usando <.
echo -e "Charlie\nAlice\nBob" > names.txt
sort < names.txtVerificação rápida: redirecionamento
Você aprendeu a redirecionar a saída padrão, acrescentar conteúdo à saída, lidar com erros e fornecer entrada a partir de arquivos. Vamos testar seu entendimento.
Recapitulação: o poder do redirecionamento de E/S
Ótimo trabalho! Você dominou os fundamentos do redirecionamento de E/S no Linux.
>redireciona STDOUT, substituindo arquivos.>>redireciona STDOUT, acrescentando conteúdo aos arquivos.2>redireciona STDERR, capturando mensagens de erro.<redireciona STDIN, permitindo que os comandos leiam arquivos.
Esses operadores são extremamente poderosos para criar scripts, registrar informações e automatizar tarefas. Continue praticando!
Perguntas Frequentes
A aula “Redirecionamento de entrada e saída (>, >>, <)” é grátis?
Sim — o texto completo de “Redirecionamento de entrada e saída (>, >>, <)” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Linux Command Line & Bash Scripting Mastery, atualize para CoddyKit PRO. O curso de Linux Command Line & Bash Scripting Mastery inclui 4 aulas no total.
O que vou aprender em “Redirecionamento de entrada e saída (>, >>, <)”?
Domine o redirecionamento da saída de comandos para arquivos e o uso de arquivos como entrada para comandos, tornando os scripts mais flexíveis. Você pratica Linux Command Line & Bash Scripting Mastery com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Linux Command Line & Bash Scripting Mastery?
Nenhuma experiência prévia é necessária. Linux Command Line & Bash Scripting Mastery no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Redirecionamento de entrada e saída (>, >>, <)”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Linux Command Line & Bash Scripting Mastery?
Sim. Cada aula de Linux Command Line & Bash Scripting Mastery inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Gerenciamento de processos (ps, top, kill)
- Redirecionamento de entrada e saída (>, >>, <)
- Encadeamento de comandos (|)
- Tarefas em Segundo Plano e Controle de Tarefas