Skip to main content

Ncdu: o "raio-X" do seu HD no terminal

04 Dezembro 2025
Visualizações: 45

Em algum momento todo usuário de Linux passa pelo mesmo drama existencial:

"Para onde foi todo o espaço do meu disco? Eu só tenho uns PDFs e meia dúzia de fotos…"

Você Mesmo

Nessas horas, olhar para a saída infinita do du não ajuda muito. É aí que entra o ncduNCurses Disk Usage –, um analisador de uso de disco com interface em modo texto, rápido, interativo e feito sob medida para terminais e servidores acessados por SSH.


A ideia deste artigo é mostrar, em linguagem de gente, como instalar e usar o ncdu para:

  • descobrir quem está devorando o seu disco;
  • navegar graficamente (no terminal!) entre diretórios;
  • excluir arquivos direto da interface;
  • fazer export/import de relatórios e até escanear servidores remotos.

1. O que é o ncdu, afinal?

O ncdu é um "du turbinado" com interface baseada em ncurses – aquela biblioteca que permite interfaces de tela cheia no terminal. Em vez de despejar números linha a linha, ele abre uma tela interativa, ordena os diretórios por tamanho, mostra barras visuais de uso e deixa você entrar em cada pasta com as setas do teclado.

Alguns pontos importantes:

  • Funciona em praticamente qualquer sistema tipo POSIX (Linux, *BSD, etc.) com ncurses instalado.
  • Foi pensado para rodar bem em servidores remotos, via SSH, onde você não tem ferramenta gráfica.
  • As versões 2.x foram reescritas em Zig, mas mantendo a mesma UI e atalhos das versões 1.x – ou seja, você atualiza sem reaprender tudo.

Resumindo: o ncdu é aquele amigo sincero que te mostra, em ordem decrescente, quais diretórios estão detonando o storage.


2. Instalando o ncdu nas principais distros

A boa notícia: o ncdu está nos repositórios padrão da maioria das distribuições. A má notícia: você não vai mais ter desculpa para não saber o que está ocupando espaço.

2.1. Debian, Ubuntu, Mint e derivados (apt)

Debian/Ubuntu
Debian/Ubuntu
sudo apt update
sudo apt install ncdu

Simples assim.

2.2. Fedora, RHEL, CentOS, AlmaLinux, Rocky (dnf / yum)

RedHat/Fedora
RedHat/Fedora
# Sistemas mais novos (Fedora, RHEL 8+, CentOS Stream, Alma, Rocky)
sudo dnf install ncdu

# Sistemas mais antigos, ainda com yum
sudo yum install ncdu

2.3. Arch, Manjaro, EndeavourOS (pacman)

Arch/Manjaro
Arch/Manjaro
sudo pacman -S ncdu

2.4. Outras distros

Muitas outras distribuições trazem pacotes oficiais (Alpine via apk, openSUSE via zypper, etc.).

Em ambientes de cluster/HPC (como o Oscar, da Brown University), é comum o ncdu vir como módulo:

module load ncdu/1.14
ncdu my_directory

3. Uso básico: o primeiro contato com o ncdu

Depois de instalado, o uso mínimo é quase poético:

3.1. Escanear o diretório atual

ncdu
  • Se você estiver em /home/usuario, ele vai escanear essa pasta.
  • Mostra um ranking de diretórios e arquivos, do maior para o menor.

3.2. Escanear um diretório específico

ncdu /var
ncdu /home
ncdu /srv/meu-servico

Isso é ótimo para investigar, por exemplo, por que /var está sempre lotado de logs.(

3.3. Escanear o sistema inteiro (com cuidado!)

sudo ncdu -x /
  • -x limita a análise ao mesmo sistema de arquivos, evitando incluir outros discos montados (NFS, USB, etc.).
  • Use sudo para que o ncdu consiga ler diretórios do sistema.

4. Navegação na interface: ncdu para seres humanos

Quando o scan termina, você cai numa tela de lista com colunas do tipo:

  • Tamanho
  • Percentual / barra
  • Nome do arquivo/pasta

Em ordem decrescente de espaço usado. A partir daí:

Tecla Ação
↑ / ↓ (ou k / j) Sobe/desce na lista
→ ou Enter Entra na pasta selecionada
Volta para o diretório pai
g / G Ir para o topo / para o final da lista
n Ordenar por nome
s Ordenar por tamanho (padrão)
a Alternar entre tamanho aparente e uso em disco
i Mostrar detalhes (permissões, dono, datas) do item selecionado
d Deletar arquivo/pasta selecionada (pede confirmação!)
? Mostrar ajuda completa de teclas
q Sair do ncdu

Duas observações cruciais:

  • O comando d realmente apaga arquivos. Use com o mesmo cuidado com que você usaria rm -rf.
  • O i é ótimo para investigar detalhes de um diretório suspeito, como dono e data de modificação.

5. Opções de linha de comando úteis

O ncdu tem uma penca de opções, mas algumas são especialmente práticas no dia a dia.

5.1. Limitar ao mesmo filesystem: -x

Já vimos:

sudo ncdu -x /
  • Evita que a análise "invada" outros discos ou montagens de rede.
  • Perfeito para responder perguntas do tipo "por que só o root está cheio?".

5.2. Modo quiet: -q

Reduz a frequência de atualização de tela durante o scan:

ncdu -q /home
  • Útil em conexões remotas lentas (menos redesenho de tela = menos dados trafegados).

5.3. Excluir diretórios/arquivos: --exclude e -X

Quer ignorar caches e lixeiras?

ncdu --exclude '**/cache/*' --exclude '**/.trash/*' /home

Ou manter um arquivo de exclusões:

# arquivo exclude.txt
**/.cache/*
**/node_modules/*
**/.git/*

ncdu -X exclude.txt /home

5.4. Somente leitura: -r

Se você não quer correr risco de apagar nada por engano:

ncdu -r /
  • -r habilita o modo read-only: a opção de deletar é desabilitada. Ideal para usuários curiosos (ou administradores desconfiados).

5.5. Exportar resultados para analisar depois: -o, -O e -f

Você pode escanear agora e visualizar depois, ou gerar um relatório para script:

# Exportar em JSON para um arquivo
ncdu -o export.json /

# Mais tarde, abrir esse relatório:
ncdu -f export.json
  • -o arquivo → exporta em JSON.
  • -f arquivo → abre um relatório previamente exportado.

Para árvores enormes, a versão 2.x tem um formato binário mais eficiente:

ncdu -O export.ncdu /
ncdu -f export.ncdu
  • Arquivo menor e leitura mais rápida.
  • Bom para milhões de arquivos (servidores com anos de acúmulo).

5.6. Agendar scans via cron

Você pode rodar o scan de madrugada e só visualizar depois:

# no cron
ncdu -0xo- / | gzip > /var/reports/ncdu-root-$(date +\%F).json.gz

Depois:

zcat ncdu-root-2025-11-24.json.gz | ncdu -f-

6. Truques avançados: ncdu em servidores remotos

Um superpoder do ncdu é escanear um servidor remoto, mas visualizar tudo localmente, economizando CPU e RAM do servidor e evitando lag de interface.

6.1. Scan remoto via SSH com visualização local

ssh -C user@servidor ncdu -o- / | ncdu -f-
  • ssh -C → ativa compressão, ótimo para links lentos.
  • No servidor: ncdu -o- / exporta os dados em JSON para stdout.
  • Na sua máquina: ncdu -f- lê esse JSON e abre a interface como se o scan fosse local.

Vantagens:

  • O terminal interativo roda localmente (sem lag).
  • O servidor remoto só faz o trabalho de scan + export, consumindo pouca memória.

7. Casos de uso reais (onde o ncdu brilha)

Alguns cenários clássicos em que o ncdu vira herói:

  1. Servidor de produção com /var lotado
    • sudo ncdu -x /var → normalmente você descobre um log gigante ou um diretório de cache esquecido.
  2. Home de usuário com quota estourando (ambiente acadêmico/HPC)
    • ncdu ~/ ou ncdu data/ para mostrar, em segundos, quais projetos estão ocupando o grosso do espaço.
  3. Máquina pessoal ficando cheia "do nada"
    • ncdu / (e ir descendo) revela pastas como Downloads, Videos, node_modules de projetos antigos, etc.
  4. Análises recorrentes de uso de disco
    • Usar export (-o, -O) em cron e comparar relatórios ao longo do tempo, alimentando dashboards ou simples diffs de JSON.
  5. Limpeza guiada (com muito cuidado!)

    • Navegar até diretórios desnecessários e usar d para exclusão direta, em vez de adivinhar caminhos com rm.

8. Conclusão: por que o ncdu merece um lugar fixo no seu toolkit

Em resumo:

  • O ncdu pega o que o du faz e embrulha em uma interface ncurses interativa, navegável com setas, com ordenação por tamanho, nome, tipo de uso e muito mais.
  • Está disponível facilmente via apt, dnf, yum, pacman e afins, além de módulos em ambientes de HPC.
  • Permite:
    • análises rápidas no diretório atual ou em qualquer caminho;
    • limitar por filesystem (-x);
    • modo somente leitura (-r);
    • exclusão interativa com confirmação (d);
    • export/import de relatórios (-o, -O, -f);
    • scans remotos via SSH com visualização local.

No fim das contas, o ncdu responde de forma visual e objetiva à pergunta que todo administrador e usuário de Linux se faz de tempos em tempos:

"Quem está comendo o meu HD?"

E responde direto do terminal, com elegância, rapidez e um toque de minimalismo nerd. Se você ainda não colocou o ncdu no seu fluxo de trabalho, vale muito a pena reservar alguns minutos para instalá-lo… antes que o / encha de novo.