>_ josetilabs.com
← blog

07 nov 2026 · linux, disco, ferramentas · 4 min

ncdu: achar o que ocupa o disco sem comando complicado

Disco cheio e você não sabe onde. du -sh * lista pastas, mas não ordena e não deixa navegar. ncdu faz as duas coisas numa tela de texto: varre o diretório, ordena por tamanho e deixa você entrar nas pastas com as setas. Medição num diretório de teste com 30 MiB: projeto 22 MiB, logs 5 MiB, cache 3 MiB. O culpado aparece na primeira tela.

Terminal mostrando o ranking do ncdu: projeto 22 MiB, logs 5 MiB, cache 3 MiB, total 30 MiB
Ranking por uso de disco. O diretório projeto responde por 22 dos 30 MiB.
Gráfico de barras com o tamanho de cada diretório medido: projeto 22 MiB, logs 5 MiB, cache 3 MiB
Os três diretórios do teste, lado a lado. Projeto domina.

Instalar

Debian e Ubuntu: sudo apt install ncdu. Fedora: sudo dnf install ncdu. macOS: brew install ncdu. Arch: pacman -S ncdu. O autor também publica binários estáticos para x86_64 e ARM em dev.yorhel.nl/ncdu, úteis em servidores sem gerenciador de pacotes.

Varredura básica

ncdu /var/log varre só os logs. ncdu / varre a raiz, mas demora e pode entrar em montagens. Durante a varredura, uma linha mostra o item atual e o total parcial. Para não cruzar sistemas de arquivos, use -x: montagens remotas e /proc ficam de fora. Para ignorar um padrão, --exclude .git. Para ignorar pastas que trazem CACHEDIR.TAG, --exclude-caches.

Navegar e agir

Setas para mover, Enter para entrar numa pasta, < ou h para voltar ao pai. d apaga o item selecionado, pedindo confirmação. n ordena por nome, s por tamanho, C por número de itens. g alterna a barra de porcentagem. a alterna uso de disco e tamanho aparente. ? mostra todos os atalhos. q sai.

Para só olhar, rode com -r (read only): desliga apagar e shell. É o modo seguro para auditar um servidor de produção.

Exportar e importar

ncdu -o relatorio.json /dados varre e salva, sem abrir interface. ncdu -f relatorio.json abre depois, no mesmo ou em outro computador. Isso permite varrer num servidor remoto e navegar no notebook. O man page mostra a forma com pipe: ssh -C usuario@servidor ncdu -o- / | ncdu -f-. O -C do ssh comprime, útil em links lentos.

Para servidores grandes, o export cresce: cerca de 600 a 700 KiB para 10 mil arquivos, e escala de forma linear. Com milhões de arquivos, espere dezenas de megabytes.

O roteiro

bash
#!/usr/bin/env bash
set -euo pipefail

# Se ncdu nao estiver instalado, imprime a instrucao e sai sem erro.
if ! command -v ncdu >/dev/null 2>&1; then
    echo "ncdu nao encontrado."
    echo "Debian/Ubuntu: sudo apt install ncdu"
    echo "Fedora:        sudo dnf install ncdu"
    echo "macOS:         brew install ncdu"
    exit 0
fi

tmp="$(mktemp -d)"
trap 'rm -rf "$tmp"' EXIT
mkdir -p "$tmp/projeto/src" "$tmp/projeto/node_modules" "$tmp/logs" "$tmp/cache"
dd if=/dev/zero of="$tmp/projeto/node_modules/x.bin" bs=1M count=20 2>/dev/null
dd if=/dev/zero of="$tmp/projeto/src/app.js" bs=1M count=2 2>/dev/null
dd if=/dev/zero of="$tmp/logs/app.log" bs=1M count=5 2>/dev/null
dd if=/dev/zero of="$tmp/cache/thumb.db" bs=1M count=3 2>/dev/null

echo "=== varredura e exportacao ==="
ncdu -o "$tmp/relatorio.json" "$tmp" >/dev/null
echo "relatorio salvo em $tmp/relatorio.json"

echo "=== comandos do dia a dia ==="
echo "ncdu /var/log                 # varrer so logs"
echo "ncdu -x /                     # nao cruzar sistemas de arquivos"
echo "ncdu --exclude .git /projeto  # ignorar padrao"
echo "ncdu -o relatorio.json /dados # exportar para navegar depois"
echo "ncdu -f relatorio.json        # abrir relatorio"
echo "ncdu -r /                     # modo somente leitura"

Se der errado

ncdu 1.x e 2.x

A versão 1.x é escrita em C e vem nos pacotes da maioria das distribuições. A versão 2.x é reescrita em Zig e traz varredura paralela com -t8 e export binário com -O. A medição deste post usou a 1.22, de 2025-03-05, licença MIT.

Comparativo

Ferramenta Interface Exporta JSON Apaga arquivos Observação
du texto não não padrão, scriptável
ncdu texto interativo sim sim o mais conhecido
dust texto não não muito rápido
gdu texto interativo sim sim reescrito em Go
dua texto não não foco em velocidade
baobab gráfica não sim vem com GNOME

FAQ

ncdu substitui du? Não. du é padrão e scriptável. ncdu é para investigar.

Funciona via SSH? Sim, é o caso de uso principal: servidor sem interface gráfica.

Como varrer sem contar outros sistemas de arquivos? ncdu -x /.

Posso excluir node_modules automaticamente? ncdu --exclude node_modules /projeto. O padrão casa por nome em qualquer nível.

A medição usou quantos arquivos? Oito itens no total, somando 30 MiB. O maior era node_modules/x.bin com 20 MiB.

Fontes

Site oficial em dev.yorhel.nl/ncdu, man page em manpages.debian.org. Veja também disco cheio, como achar, duf e dust e medir disco sem derrubar.

Leia também

// Por e-mail

Os textos publicados aqui também vão por e-mail. O envio ainda não começou: quem deixar o endereço agora entra na primeira lista.

Guardo só o seu e-mail, a data e o registro desta autorização. Sem cookies, sem rastreador e nada compartilhado com terceiros. Detalhes na política de privacidade.