No Linux, o redirecionamento de entrada e saída permite controlar de onde os comandos leem dados (entrada) e para onde eles enviam resultados (saída). Isso permite que você direcione a entrada e a saída de um comando para arquivos, dispositivos ou até mesmo para outros comandos. Aqui estão os principais operadores de redirecionamento:
Redirecionamento de entrada (stdin):
< arquivo
: Redireciona a entrada de um comando para ler de um arquivo em vez do teclado. Por exemplo:bashcat < arquivo.txt
<< marcador
: Permite inserir dados de entrada interativamente até que um marcador seja encontrado. Por exemplo:bashcat << EOF Conteúdo de exemplo EOF
Redirecionamento de saída (stdout):
> arquivo
: Redireciona a saída de um comando para gravar em um arquivo em vez de exibi-la no terminal. Se o arquivo já existir, será sobrescrito. Por exemplo:bashls > lista_arquivos.txt
>> arquivo
: Redireciona a saída de um comando para anexar ao final de um arquivo existente, em vez de sobrescrevê-lo. Por exemplo:bashecho "Nova linha" >> arquivo.txt
Redirecionamento de erros (stderr):
2> arquivo
: Redireciona a saída de erro (stderr) de um comando para gravar em um arquivo. Por exemplo:comando_inexistente 2> erros.txt
2>> arquivo
: Redireciona a saída de erro (stderr) de um comando para anexar ao final de um arquivo existente. Por exemplo:comando_inexistente 2>> erros.txt
Redirecionamento combinado de saída e erros:
> arquivo 2>&1
: Redireciona a saída padrão (stdout) e a saída de erro (stderr) de um comando para gravar em um arquivo. Por exemplo:comando > saida.txt 2>&1
>> arquivo 2>&1
: Redireciona a saída padrão (stdout) e a saída de erro (stderr) de um comando para anexar ao final de um arquivo existente. Por exemplo:comando >> saida.txt 2>&1
Esses são alguns dos operadores de redirecionamento mais comuns no Linux. Eles fornecem uma maneira flexível de manipular a entrada, saída e erros dos comandos, permitindo automatizar tarefas e criar pipelines complexos. Experimente esses operadores para redirecionar entrada e saída em seus comandos do Linux.