Comando watch: Monitorar Saida em Intervalos
O Que Voce Vai Aprender
- Como reexecutar o mesmo comando em um intervalo fixo com
watch - As duas opcoes mais comuns:
-n(intervalo) e-d(destacar alteracoes) - Como evitar a armadilha das aspas ao usar pipes ou redirecionamento
- Como sair do watch corretamente (Ctrl + C)
Resumo Rapido
watch comandoreexecuta o comando a cada 2 segundos e atualiza a tela- Altere o intervalo com
watch -n 5 comando(a cada 5 segundos) - Destaque o que mudou com
watch -d comando - Ao usar um pipe
|, envolva tudo entre aspas:watch 'ls | wc -l'
Pre-requisitos (ambiente alvo)
- SO: Linux (Ubuntu / Debian / familia RHEL, etc.)
watchvem no pacoteprocps-nge esta pre-instalado na maioria das distros- Nao esta incluido no macOS por padrao (use
brew install watchse necessario)
1. O Que E o Comando watch?
Conclusao: watch reexecuta um comando dado em um intervalo fixo (2 segundos por padrao) e redesenha a saida mais recente na tela. E usado para monitorar mudancas.
ls -l repetidamente para ver se um arquivo esta crescendo. Isso e exaustivo.watch serve. Ele reexecuta o mesmo comando automaticamente e continua atualizando a tela, entao voce nao precisa ficar martelando o teclado.watch na frente do comando que voce quer monitorar. Vamos comecar com a forma mais simples.2. Uso Basico - Repetir um Comando Com watch
Conclusao: Basta escrever
watch comando. Por padrao, ele executa a cada 2 segundos e mostra o intervalo, o comando e o horario em um cabecalho no topo.
ls -l.watch ls -l
Every 2.0s: ls -l host: Fri Jun 5 19:30:00 2026
ls -l!O cabecalho no topo mostra o intervalo, o comando em execucao, o hostname e o horario atual. Ele tambem confirma que o watch ainda esta ativo e em execucao.
3. Como Alterar o Intervalo (opcao -n)
Conclusao: Use
-n segundos(ou--interval) para definir o intervalo. Por exemplo,watch -n 5 comandoexecuta a cada 5 segundos. O minimo e 0.1 segundos.
-n para especificar os segundos. Para cada 5 segundos:watch -n 5 ls -l
-n 0.5 executa a cada meio segundo, ate um minimo de 0.1 segundos. Mas um intervalo muito curto executa o comando com muita frequencia e usa mais CPU, entao use apenas a velocidade que voce realmente precisa.watch -n 0.5 ls -l
Um intervalo curto como -n 1 executa o comando com muito mais frequencia. Executar um comando pesado (como resumir um diretorio enorme) em um intervalo curto pode causar alta carga, entao tenha cuidado.
4. Como Destacar o Que Mudou (opcao -d)
Conclusao:
-d(--differences) destaca o que mudou desde a execucao anterior.-d=permanentmantem as alteracoes acumuladas destacadas desde a primeira iteracao.
-d ajuda. Ele destaca as partes que diferem da atualizacao anterior.watch -d ls -l
-d=permanent. Ele mantem destacado qualquer ponto que ja mudou, o que e util quando voce quer saber depois "o que mudou em algum momento enquanto eu nao estava olhando."watch -d=permanent ls -l
5. A Armadilha das Aspas Com Pipes e Redirecionamento
Conclusao: Para incluir
|ou>, envolva o comando inteiro entre aspas. Sem aspas, o shell os interpreta primeiro e redireciona a saida do proprio watch.
watch ls | wc -l, mas se comportou de forma estranha.watch ls para wc -l." Para passar o ls | wc -l inteiro para o watch, escreva assim:watch 'ls | wc -l'
ls | wc -l ir para o watch como uma peca unica.> e curingas como *, qualquer coisa que o shell trate de forma especial. Na duvida, envolva o comando inteiro que voce passa para o watch entre aspas simples.Regra geral: se voce usa um pipe ou simbolo especial, escreva watch 'comando inteiro'. Esquecer as aspas e o erro mais comum com o watch.
6. Ocultar o Cabecalho, Manter Cores, Parar na Mudanca
Conclusao:
-tremove o cabecalho,-creproduz a saida colorida e-gsai no momento em que a saida muda.
-t (--no-title). Use quando quiser ver apenas a saida, de forma limpa.watch -t ls -l
ls --color, as cores desaparecem.-c (--color) e o watch renderizara as cores ANSI que o comando produz.watch -c ls --color=always
-g (--chgexit). Ele sai do watch no momento em que a saida difere da execucao anterior, perfeito para "me avise quando algo mudar."watch -g ls -l
Opcoes comuns em um relance
| Opcao | Significado |
|---|---|
-n SEC |
Definir o intervalo (padrao 2s, minimo 0.1s) |
-d |
Destacar alteracoes desde a ultima execucao |
-d=permanent |
Manter alteracoes acumuladas destacadas |
-t |
Remover o cabecalho do topo |
-c |
Reproduzir as cores ANSI do comando |
-g |
Sair quando a saida mudar |
-x |
Executar diretamente sem sh -c (cuidado com argumentos) |
7. Como Sair do watch
Conclusao: watch continua executando ate voce para-lo. Pressione
Ctrl + Cpara encerrar a sessao e voltar ao prompt normal.
Ctrl + C (segure Control e pressione C). Isso encerra o watch e retorna voce ao seu prompt habitual.Ctrl + C e pronto.8. Casos de Uso Comuns
Conclusao: watch brilha sempre que voce quer observar um numero que muda ao longo do tempo: uso de disco, processos, contagens de log, conexoes de rede.
# Monitorar uso de disco conforme muda watch df -h # Monitorar a contagem de um processo especifico (aspas no pipe) watch 'ps aux | grep nginx' # Observar a contagem de linhas de um log crescer watch 'wc -l /var/log/syslog' # Monitorar contagem de conexoes de rede a cada 5 segundos watch -n 5 'ss -tan | wc -l'
tail -f se encaixa melhor. watch "re-fotografa a tela inteira periodicamente," enquanto tail -f "transmite novas linhas conforme aparecem." Escolha o certo para a tarefa.