Skip to main content

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, o du mostra 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çãoDescrição
-hFormato human-readable (KB, MB, GB)
-sSummary (apenas total do diretório)
-aInclui arquivos individuais
-cMostra total final
--max-depth=NLimita profundidade
-xNão cruza sistemas de arquivos
-bMostra 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

ComandoMede
duEspaço usado por arquivos/diretórios
dfEspaç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 -h para leitura humana
  • Limitar profundidade com --max-depth
  • Evitar rodar na raiz sem necessidade
  • Em produção, rodar fora de horário crítico