Como salvar a saída do terminal em um arquivo no Linux 1

Como salvar a saída do terminal em um arquivo no Linux

Muitas vezes, ao trabalhar no terminal Linux, você pode querer salvar a saída do terminal de um comando em um arquivo. Este arquivo pode ser usado como informação para outra operação ou simplesmente para registrar a atividade do terminal. Aqui estão quatro maneiras diferentes de salvar o conteúdo do terminal em um arquivo.

Os métodos a seguir são aplicáveis ​​em todas as distribuições do Linux e podem ser usados ​​até mesmo em Macs e BSD. A única coisa que você precisa pensar é qual método é o melhor para fazer o trabalho.

1. Usando operadores de redirecionamento

A maneira mais comum e básica de redirecionar a saída do terminal para um arquivo é usar o > e >> operadores. Eles direcionam apenas a saída para um arquivo de texto especificado. Eles não redirecionam os erros. Eles ainda aparecerão no terminal.

o > operador redireciona a saída para um arquivo e sobrescreve o conteúdo desse arquivo enquanto o >> operador anexa a saída ao final do arquivo. Aqui está uma ilustração:

Primeiro crie um arquivo usando o touch comando.

Uma linha agora é ecoada para “arquivo1.txt” usando o > operador. Pode-se pensar nisso como despejar a produção do echo comando para “arquivo1.txt.”

Saída Terminal 2

Outra linha é ecoada em “arquivo1.txt”.

Saída Terminal 3

Ao visualizar o conteúdo de “file1.txt”, vemos que apenas a segunda linha é armazenada no arquivo. Isso ocorre porque o > operador sobrescreve o conteúdo do arquivo existente.

Saída Terminal 4

Se desejarmos “anexar” conteúdo ao arquivo, então o >> operador precisa ser especificado.

Saída Terminal 5

Podemos ver o resultado da operação de acréscimo bem-sucedida.

Saída Terminal 6

Se você quiser apenas salvar os erros, use o 2> e 2>> operadores em vez disso.

Se você estiver interessado em registrar tudo, use &> e &>> para redirecionar todas as saídas (incluindo erros) para um arquivo sem mostrar nada no terminal.

2. Usando o comando tee

Com os operadores de redirecionamento mostrados acima, a saída do comando não é exibida na tela. Se você deseja que ele exiba a saída no terminal e grave em um arquivo, você pode usar o tee comando.

O símbolo de barra vertical (|) passa a saída de <command> como entrada para tee, que por sua vez exibe a saída na tela. Se o -a switch é especificado, então tee anexa essa saída ao arquivo especificado, caso contrário, ele sobrescreveria o conteúdo desse arquivo.

Saída Terminal 7

De acordo com o comando demonstrado acima, o texto “quarta declaração” deveria ter sido anexado a “arquivo1.txt”. Verificação usando o cat comando corrobora nosso palpite.

Saída Terminal 8

Você também pode fazer uso do |& operador e o tee comando para exibir tudo e registrá-lo também.

3. Usando o comando de script

Com o script comando, a saída dos comandos digitados em seguida seria gravada automaticamente em um arquivo até que seja solicitada a cessação. Isso pode ser comparado a uma sessão que registra a atividade do terminal.

Primeiro, o script comando é chamado com o nome do arquivo para armazenar a atividade do terminal.

Saída Terminal 9

Uma mensagem informa que o script foi iniciado e os comandos são digitados um após o outro – aqui date, pwd, ls e cal.

Saída Terminal 10

Para encerrar o script, o exit comando é invocado. Há uma mensagem informando que a operação “script” foi concluída. Visualizando o conteúdo de “script_log.txt” usando cat, vemos que o conteúdo do arquivo parece uma réplica exata do terminal.

Saída Terminal 11

Perto do final, podemos ver o carimbo de data / hora quando o script foi concluído. Quando este arquivo é visualizado em um editor de texto, podemos ver algum conteúdo de texto e lixo, que na verdade é o prompt do bash em um formato compreensível pelo shell do bash.

Terminal 29

Somente quando este arquivo é visto no shell usando o cat comando, obtemos informações totalmente inteligíveis.

Vamos tentar outro, salvando a saída do terminal em “2-script_log.txt”.

Saída Terminal 12

Comandospwd e ls são digitados.

Saída do Terminal 13

Sem digitar exit, a janela do terminal é fechada. Quando tentamos visualizar o conteúdo de “2-script_log.txt”, podemos ver que ele está vazio.

Saída Terminal 14

Quando uma sessão de script é iniciada, o conteúdo dessa sessão é retido na memória e gravado no arquivo apenas quando o exit comando é invocado. Aqui desde exit não foi invocado, o conteúdo dessa sessão não foi salvo em “2-script_log.txt”.

O comportamento de substituição e acréscimo do script é semelhante a tee e os operadores de redirecionamento. o -a switch anexa o conteúdo de uma sessão a um arquivo existente anteriormente. Aqui, a saída do echo comando é anexado a “script_log.txt.”

Saída Terminal 15

Vamos ver a saída de “script_log.txt”. Podemos ver a saída salva anteriormente do date, pwd, ls, cal comandos seguidos do carimbo de data / hora; depois disso, encontramos as informações da próxima sessão terminando com o carimbo de data / hora.

Saída Terminal 16

4. Usando o comando logsave

logsave se comporta de maneira semelhante a tee – exibe a saída na tela e também a salva em um arquivo. É usado conforme mostrado abaixo:

Saída Terminal 17

logsave escreve a saída de <command> para o arquivo especificado por <file_name>. Vamos ver a saída de “mylog_file.txt”.

Saída Terminal 18

Existem muitas informações armazenadas junto com o resultado de um comando. Dois carimbos de data / hora são armazenados aqui: o primeiro é a hora em que o comando foi iniciado e o segundo é a hora em que o comando concluiu sua execução. Aqui, os carimbos de data / hora são os mesmos. Embora, quando uma listagem de diretório recursiva é iniciada no diretório “/ home” em um sistema multiusuário, o comando pode demorar um pouco para ser executado completamente. Nesse caso, os carimbos de data / hora de início e de término seriam diferentes.

A saída de mais comandos pode ser anexada ao mesmo arquivo quando o -a interruptor é usado com logsave.

Saída Terminal 19

Quando tentamos visualizar o conteúdo de “mylog_file.txt”, vemos que a saída dos dois comandos inseridos anteriormente são demarcados por uma linha.

Saída Terminal 20

Acima estão algumas das maneiras mais úteis de salvar uma saída de terminal em um arquivo no Linux. Qual você prefere?

  • Como fazer multitarefa no terminal Linux com tela
  • Como instalar um dicionário para uso no terminal Linux
  • Como usar o terminal Linux como uma calculadora

Apoie o nosso trabalho ❤️

Se você gostou deste artigo, considere deixar uma gorjeta para nos ajudar a continuar publicando conteúdo de qualidade.

Pagamento seguro no PayPal
Moyens I/O Staff motivou você, dando conselhos sobre tecnologia, desenvolvimento pessoal, estilo de vida e estratégias que irão ajudá-lo.