du — Disk Usage (Uso de Espaço em Disco) | Linux
du— Disk Usage (Uso de Espaço em Disco) | Linux
1. Visão Geral
du (Disk Usage) é um utilitário Unix/Linux utilizado para calcular o espaço ocupado por arquivos e diretórios no sistema de arquivos.
Ele opera percorrendo a árvore de diretórios e somando o tamanho real alocado em disco (blocos).
Diferente do
ls -lh, odumostra o consumo real em disco, não apenas o tamanho lógico do arquivo.
2. Sintaxe Básica
du [opções] [caminho]
Exemplo:
du /var/log
3. Comportamento Padrão
Sem opções, o du:
- Mostra o tamanho de cada subdiretório
- Exibe valores em blocos (geralmente 1K ou 4K dependendo do sistema)
4. Opções Mais Utilizadas
| Opção | Descrição |
|---|---|
-h | Formato human-readable (KB, MB, GB) |
-s | Summary (apenas total do diretório) |
-a | Inclui arquivos individuais |
-c | Mostra total final |
--max-depth=N | Limita profundidade |
-x | Não cruza sistemas de arquivos |
-b | Mostra tamanho em bytes |
5. Exemplos Práticos
Ver tamanho total de um diretório
du -sh /var/log
Saída típica:
1.4G /var/log
Listar diretórios de primeiro nível apenas
du -h --max-depth=1 /var
Útil para auditoria rápida de consumo.
Encontrar diretórios mais pesados
du -h --max-depth=1 / | sort -hr
Ordena do maior para o menor.
Incluir arquivos individuais
du -ah /var/log
Total geral com soma final
du -ch /var/log
6. Diferença entre du e df
| Comando | Mede |
|---|---|
du | Espaço usado por arquivos/diretórios |
df | Espaço disponível no filesystem |
Exemplo:
df -h
df trabalha no nível de sistema de arquivos, enquanto du trabalha na árvore de diretórios.
7. Como o du Calcula Espaço
O du soma:
- Blocos efetivamente alocados
- Considera hard links
- Pode ignorar sparse files dependendo da flag usada
Importante em:
- Logs
- Containers
- Sistemas com overlayfs
- Storage em servidores
8. Casos Reais de Uso
Diagnóstico de servidor cheio
du -h --max-depth=1 / | sort -hr
Ver consumo de diretório Docker
du -sh /var/lib/docker
Identificar crescimento anormal
watch -n 5 'du -sh /var/log'
9. Performance e Impacto
- Pode ser custoso em diretórios com milhões de arquivos
- Executa leitura recursiva
- Pode impactar I/O em produção
Em ambientes críticos, use com cautela.
10. Combinações Avançadas
Top 10 maiores diretórios
du -h --max-depth=1 / | sort -hr | head -10
Ignorar outro filesystem (ex: NFS)
du -hx /
11. Problemas Comuns
- Permissões negadas → use
sudo - Valores inconsistentes vs
df - Arquivos deletados mas ainda abertos (caso de processos)
Verificar arquivos abertos:
lsof | grep deleted
12. Boas Práticas
- Sempre usar
-hpara leitura humana - Limitar profundidade com
--max-depth - Evitar rodar na raiz sem necessidade
- Em produção, rodar fora de horário crítico