Redirecionando a saída de comandos

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

[ Hits: 37.636 ]

 


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

Executar shutdown como usuário comum em 2 etapas

Sites de busca de pacotes RPM

Configurando seu BlackBox

Slackware Zine

Site de Linux voltado para desktop

Leitura recomendada

Qual Ubuntu devo usar?

Redirecionadores

Instalar o Acrobat Reader no CentOS 5

Instalando o Compiz Fusion no Debian

Aumentando área de SWAP sem boot ou reinstalação em LVM

  

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