Quando você executa um comando no prompt do bash, normalmente imprime a saída desse comando comando diretamente para o terminal para que você possa lê-lo imediatamente. Mas o bash também permite que você “redirecione” a saída de qualquer comando, salvando-o em um arquivo de texto para que você possa revisar a saída posteriormente.
Isso funciona em qualquer sistema operacional, do Linux e macOS ao Ubuntu- bash environment.
Para usar o redirecionamento de bash, você executa um comando, especifica o operador>
ou>>
e em seguida, forneça o caminho de um arquivo para o qual você deseja que a saída seja redirecionada.
>
redireciona a saída de um comando para um arquivo, substituindo o conteúdo existente do arquivo.>>
redireciona a saída de um comando para um arquivo, anexando a saída ao conteúdo existente do arquivo.Tecnicamente, isso redireciona “stdout” - a saída padrão, que é a tela para um arquivo.
Aqui está um exemplo simples. O comandols
lista arquivos e pastas no diretório atual. Assim. Quando você executa o seguinte comando,ls
listará arquivos e pastas no diretório atual. Mas ele não será impresso na tela - ele será salvo no arquivo especificado.
ls> / path / to / file
Você não precisa especificar o caminho para um arquivo existente. Especifique qualquer caminho válido e o bash criará um arquivo nesse local.
Se você visualizar o conteúdo do arquivo, verá a saída do comandols
. Por exemplo, o comandocat
imprime o conteúdo de um arquivo no terminal:
cat / path / to / file
Lembre-se, o operador
substitui o conteúdo existente do arquivo com a saída do comando. Se você quiser salvar a saída de vários comandos em um único arquivo, use o operador>
. Por exemplo, o comando a seguir anexará informações do sistema ao arquivo especificado:>>
uname -a >> / path / to / file
Se o arquivo ainda não existir, o bash criará o arquivo. Caso contrário, o bash deixará o conteúdo existente do arquivo sozinho e anexará a saída ao final do arquivo.
Ao visualizar o conteúdo do arquivo, você verá os resultados do segundo comando serem anexados ao final. do arquivo:
Você pode repetir esse processo quantas vezes desejar para continuar anexando a saída ao final do arquivo.
Você talvez não como redirecionar a saída com os operadoresou>>
, já que você não verá a saída do comando no terminal. É para isso que serve o comandotee
. O comando tee imprime a entrada que recebe na tela e salva-o em um arquivo ao mesmo tempo.
Para enviar a saída de um comando paratee
, imprimindo-o para sua tela e salvá-lo em um arquivo, use a seguinte sintaxe:
comando | tee / path / to / file
Isso substituirá qualquer coisa no arquivo pela saída do comando, assim como o operador>
.
Para enviar a saída de um comando paratee
, imprimindo na tela e salvando-o em um arquivo, mas anexando-o ao final do arquivo:
comando | tee -a / path / to / file
Isso anexará a saída ao final do arquivo, assim como o operador>>
.
RELATED: O Guia do Iniciante para o Shell Scripting: O básico
O shell bash inclui alguns operadores avançados adicionais que executam funções semelhantes. Eles serão particularmente úteis se você estiver escrevendo scripts bash. Consulte o capítulo Redirecionamento de E / S no Guia Avançado de Script de Script para obter informações mais detalhadas.
Como limpar seu menu de contexto do Windows desarrumado
Se você já se viu clicando com o botão direito do mouse em alguma coisa e imaginando de onde veio todo esse lixo, você não está sozinho. Quer se livrar do lixo que você não usa e adicionar alguns itens realmente úteis ao menu de contexto? Você pode. O Windows inclui várias opções nesse menu de contexto por padrão, e essa lista aumenta à medida que você instala mais aplicativos.
Como desabilitar a exibição encadeada no aplicativo de email do iOS 10
Os encadeamentos de e-mail permitem que você veja todos os e-mails enviados e recebidos com a mesma linha de assunto agrupada em uma conversa. A visualização encadeada está disponível no macOS há algum tempo e agora está disponível no aplicativo Mail no iOS 10. A visualização encadeada é útil para evitar a perda de e-mails antigos da mesma conversa.