Redirecionando a saída de comandos

Publicado por Marcelo Gonçalves da Cunha em 01/02/2004

[ Hits: 37.835 ]

 


Redirecionando a saída de comandos



Muitos usuários de Linux quando tem dúvidas não fazem perguntas corretas para fóruns e quando precisam de passar para a comunidade todo o erro que o sistema retornou à ele, não consegue se expressar adequadamente.

Por exemplo, o sistema te retorna um erro de 20 linhas de muita coisa em sua tela porque deu algum erro na compilação de um programa. Você não passa tudo o que tem na tela pro fórum, pois a saída é muito extensa e assim fica muito difícil para a comunidade te ajudar.

Aqui vem um dica pra você passar todo o erro fácil fácil.

Se você está tendo qualquer problema com algum comando, então faça o seguinte:

seu comando > texto.txt

Exemplo: estou tendo problemas quando executo o comando "make", então ficaria assim:

$ make > texto.txt

Dessa forma, todo a saída do comando "make" está sendo passada para um arquivo texto.txt.

Agora fica fácil passar todo o erro para a comunidade e assim fácil até para te ajudar, retornando uma solução mais rápida.

Até mais!
Marcelo

Outras dicas deste autor

Configurando seu BlackBox

Ajudando na tradução de software livre

Driver da Motorola para kernel 2.6

Site de Linux voltado para desktop

Sites de busca de pacotes RPM

Leitura recomendada

Qual a melhor distribuição?

HeartBeat - Web server com Alta Disponibilidade (HA)

Exportando suas contas e mensagens do Thunderbird do Windows para o Linux

Hardening de servidores

Palestra do Zero ao Openstack [vídeo]

  

Comentários
[1] Comentário enviado por lordello em 01/02/2004 - 11:55h

Muito bom o artigo, gostaria de acrescentar uma coisa, caso a pessoa precise fazer mais de um log ela pode colocar tudo num arquivo só, por exemplo:

#comando1 > log.txt
#comando2 >> log.txt
#comando3 >> log.txt

O macete é usar dois sinais de 'maior' >> dessa forma a saída do comando vai ser acrescentada no arquivo log.txt, com um símbolo apenas o arquivo será sobrescrito.
Falow!

[2] Comentário enviado por birilo em 27/04/2004 - 04:09h

Ou se não, caso ela queira mandar só os erros

#comando 2> log.txt

[3] Comentário enviado por marciosystens em 11/09/2015 - 13:11h

Muito boa a explicação!

E se eu quiser adicionar informação à saida do comando?

Por exemplo: Vou criar um arquivo de backup dos meus arquivos e salvar a lista dos arquivos tratados, com a data/hora e caminho do arquivo:

#Aqui salva a lista de arquivos compactados pelo tar
user@debian:~$ tar -czvf /etc /mnt/backup >> /var/log/backup.log

Parte do conteúdo de backup.log:
/etc/calendar/
/etc/calendar/default
/etc/chatscripts/
/etc/chatscripts/provider

O que eu gostaria que tivesse:
[ Máquina | usuario | data hora] <saída comando>
[debian | user | 11-09-2015 12:08:45] /etc/calendar/
[debian | user | 11-09-2015 12:08:45] /etc/calendar/default
[debian | user | 11-09-2015 12:08:46] /etc/chatscripts/
[debian | user | 11-09-2015 12:08:46] /etc/chatscripts/provider


[4] Comentário enviado por ACMM em 07/08/2021 - 23:02h


Se em um caso onde o cenário e o seguinte:
Preciso fazer o log de um determinado procedimento em um momento e depois fazer o log de outro procedimento diferente em outro momento, mas salvando tudo no mesmo arquivo e sem sobrescrever nada. Posso fazer assim, por exemplo:

sudo apt update && sudo apt full-upgrade -y && sudo apt autoremove -y | tee -a ~/Documents/log.txt

Guns don't kill people. People kill people.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts