Como usar o comando DU no Linux para gerenciar espaço em disco

O comando du no Linux é uma ferramenta poderosa para verificar o espaço ocupado por arquivos e diretórios, ajudando na organização e no gerenciamento do disco

Como usar o comando DU no Linux para gerenciar espaço em disco

Introdução

Se você é um usuário de Linux, provavelmente já se deparou com a necessidade de analisar o uso de disco em seu sistema. O comando du (Disk Usage) é uma ferramenta poderosa que pode ajudá-lo nessa tarefa. Neste artigo, vamos explorar em detalhes como você pode usar o du para gerenciar eficientemente o espaço em disco em seu sistema Linux.

O que é o comando DU?

O comando du é uma utilidade padrão do Linux usada para estimar o uso de espaço de arquivos e diretórios em um sistema de arquivos. É uma ferramenta essencial para administradores de sistema e usuários que desejam monitorar o uso de espaço em disco de forma eficiente.

Sintaxe Básica

A sintaxe básica do comando du é bastante simples:

du [OPÇÕES] [ARQUIVO/DIRETÓRIO]

Se você não especificar um arquivo ou diretório, o du irá reportar o uso de disco do diretório atual.

Opções Comumente Usadas

Vamos explorar algumas das opções mais úteis do du que você pode usar no seu dia a dia.

1. Exibindo o Uso de Disco em Formato Legível

Uma das opções mais úteis é -h, que fornece a saída em um formato legível para humanos, usando KB, MB ou GB.

du -h /home/seu_usuario

Este comando mostrará o uso de disco do seu diretório home em um formato fácil de entender. Por exemplo:

4.0K /home/seu_usuario/Documentos
20M /home/seu_usuario/Downloads
2.3G /home/seu_usuario/Vídeos

2. Resumindo o Tamanho Total de um Diretório

Se você quiser apenas o tamanho total de um diretório específico, use a opção -s junto com -h:

du -sh /var/log

Isso fornecerá apenas o tamanho total do diretório especificado:

3.5G /var/log

3. Exibindo Tamanhos de Todos os Arquivos e Subdiretórios

Para incluir todos os arquivos junto com os diretórios na saída, use a opção -a:

du -a /home/seu_usuario

Você verá uma lista detalhada incluindo arquivos individuais:

12K /home/seu_usuario/.bashrc
4.0K /home/seu_usuario/.profile
20M /home/seu_usuario/Downloads/arquivo_grande.zip

4. Mostrando o Uso de Disco em Unidades Específicas

Você pode forçar o du a exibir a saída em unidades específicas, como Megabytes, usando a opção -BM:

du -BM -d 1 /home/seu_usuario

Isso mostrará o uso de disco em Megabytes para o primeiro nível de subdiretórios:

1M /home/seu_usuario/Documentos
50M /home/seu_usuario/Downloads

5. Excluindo Certos Arquivos ou Diretórios

Para excluir arquivos que correspondam a um padrão específico, você pode usar a opção --exclude:

du -sh --exclude='*.log' /var/log

Este comando excluirá todos os arquivos .log ao calcular o uso de disco:

2.8G /var/log

6. Limitando a Profundidade da Travessia de Diretórios

A opção -d permite que você limite a profundidade da travessia de diretórios:

du -h -d 1 /home/seu_usuario

Isso mostrará apenas o primeiro nível de subdiretórios:

4.0K /home/seu_usuario/Documentos
20M /home/seu_usuario/Downloads
2.3G /home/seu_usuario/Vídeos
2.32G /home/seu_usuario

7. Mostrando o Tamanho Aparente em Vez do Uso de Disco

Para exibir o tamanho real do arquivo em vez dos blocos alocados no disco, use a opção --apparent-size:

du --apparent-size -h /home/seu_usuario

Isso pode ser útil para ver o tamanho real dos arquivos, especialmente em sistemas de arquivos com compressão.

8. Exibindo o Uso de Disco de Múltiplos Diretórios

Você pode somar o uso de disco de múltiplos diretórios e mostrar um total usando a opção -c:

du -ch /etc /var

Isso fornecerá um resumo do uso de disco para ambos os diretórios e um total geral.

9. Ordenando a Saída por Tamanho

Para identificar rapidamente os maiores consumidores de espaço, você pode combinar du com o comando sort:

du -ah /home/seu_usuario | sort -rh | head -10

Este comando listará os 10 maiores itens em seu diretório home, ordenados do maior para o menor.

10. Verificando o Uso do Sistema de Arquivos em uma Partição Montada

Para excluir arquivos de outros sistemas de arquivos montados, use a opção -x:

du -xh /

Isso é útil quando você quer analisar apenas o uso de disco na partição raiz, por exemplo.

Dicas Avançadas

Combinando Opções para Análises Mais Detalhadas

Você pode combinar várias opções para obter exatamente a informação que precisa. Por exemplo:

du -ahc --max-depth=2 /home | sort -rh | head -n 20

Este comando mostrará os 20 maiores consumidores de espaço em seu diretório home, limitando a profundidade a 2 níveis e incluindo um total geral.

Usando DU em Scripts

O du é frequentemente usado em scripts para monitoramento de disco. Aqui está um exemplo simples de como você pode usar du em um script bash para alertar sobre diretórios que excedem um certo tamanho:

#!/bin/bash

MAX_SIZE=1000000  # 1GB em KB

for dir in /home/*/; do
    size=$(du -s "$dir" | cut -f1)
    if [ $size -gt $MAX_SIZE ]; then
        echo "Alerta: $dir excede 1GB (tamanho atual: $size KB)"
    fi
done

Este script verifica todos os diretórios de usuários em /home e alerta se algum exceder 1GB.

Monitorando Mudanças no Uso de Disco

Você pode usar du em conjunto com outros comandos para monitorar mudanças no uso de disco ao longo do tempo. Por exemplo:

watch -n 60 "du -sh /var/log"

Este comando executará du a cada 60 segundos, permitindo que você observe mudanças em tempo real no tamanho do diretório /var/log.

Conclusão

O comando du é uma ferramenta versátil e poderosa para análise de uso de disco no Linux. Com as opções e técnicas que você aprendeu neste artigo, você estará bem equipado para gerenciar eficientemente o espaço em disco em seus sistemas Linux. Lembre-se de que a prática leva à perfeição, então não hesite em experimentar diferentes combinações de opções para encontrar as que melhor atendem às suas necessidades específicas.

Ao dominar o du, você não apenas economizará tempo valioso na administração do sistema, mas também ganhará insights profundos sobre como o espaço em disco está sendo utilizado em seu sistema Linux. Isso pode ser crucial para otimizar o desempenho, planejar atualizações de hardware e manter seus sistemas funcionando sem problemas.

Continue explorando e experimentando com o du, e você descobrirá que é uma ferramenta indispensável em seu arsenal de administração de sistemas Linux.


FAQ

Pergunta e respostas frequentes sobre o conteúdo.

O comando du é usado para estimar o uso de espaço em disco de arquivos e diretórios.

Use a opção -h para exibir o uso de disco em KB, MB ou GB.

Use a opção -s para exibir apenas o tamanho total.

Use a opção -a para incluir arquivos individuais na saída.

Use a opção -d seguida do número de níveis desejados.

Use a opção --exclude para excluir arquivos que correspondam a um padrão.

Use a opção --apparent-size para exibir o tamanho real dos arquivos.

Combine o comando du com sort para ordenar os resultados.

Use o comando watch para executar o du periodicamente.

Use a opção -c para somar o uso de disco de múltiplos diretórios.

Use a opção -x para excluir sistemas de arquivos montados.

Use a opção -BM para exibir os resultados em Megabytes.

Use o du em scripts bash para monitorar e alertar sobre uso de disco.

Execute o comando du sem opções para exibir o uso de disco do diretório atual.

Use a opção -L para seguir links simbólicos.


Giancarlo Gil Ottaviani Raduan
Me pague um café no NuBank do Giancarlo Gil Ottaviani Raduan

Especialista linux, desenvolvedor web full-stack, PHP no sangue, graduando em Direito, pai da Lais e esposo da Simone


Talvez você goste destes outros tutoriais