À medida que você continua a aprender Linux, você viu como os comandos produzem saída. Isso nos leva ao tópico importante de streams de E/S (entrada/saída), especificamente a saída padrão ou stdout. Vamos explorar este conceito executando o seguinte comando:
echo Hello World > peanuts.txt
Após executar isso, você encontrará um novo arquivo chamado peanuts.txt em seu diretório atual. Se você visualizar seu conteúdo, verá o texto "Hello World". Vamos analisar o que aconteceu.
Entendendo a Saída Padrão (stdout)
Primeiro, considere o comando sem o caractere especial:
echo Hello World
Por padrão, muitos comandos enviam seus resultados para stdout, que é a tela do seu terminal. É por isso que echo Hello World exibe o texto diretamente no seu shell. Os processos usam streams de E/S para receber entrada (entrada padrão ou stdin) e enviar saída. O redirecionamento de E/S nos permite alterar esse comportamento padrão, dando-nos maior controle sobre nossos dados.
Redirecionando stdout com >
O caractere > é um operador de redirecionamento. Ele intercepta os dados que se destinam ao stdout e os envia para um novo destino.
>
No nosso exemplo, ele envia a saída de echo Hello World para um arquivo em vez da tela. Se o arquivo não existir, ele será criado. Tenha cuidado, pois se o arquivo já existir, este operador sobrescreverá completamente seu conteúdo.
Anexando stdout com >>
E se você quiser adicionar a um arquivo sem apagar seu conteúdo? Para isso, usamos o operador >>.
echo Hello World >> peanuts.txt
Este operador anexa a saída ao final do arquivo especificado. Se o arquivo ainda não existir, ele será criado, assim como o operador >. Dominar o redirecionamento de stdout é um passo fundamental na sua jornada Linux.