ncdu: Analisador Interativo de Uso de Disco

ncdu: Analisador Interativo de Uso de Disco

O Que Voce Vai Aprender

  • Como usar ncdu para navegar grandes diretorios interativamente
  • Como encontrar arquivos grandes e deleta-los com seguranca no local
  • Como trocar a repeticao de du por uma investigacao somente por teclas
  • Como escanear o disco de um servidor remoto via ssh

Publico-alvo: Iniciantes em Linux, qualquer pessoa cansada de cacar espaco com du

Introducao: O Incidente do "du Spam" da Lina

Lina: Linny-senpai, o disco encheu e estou cacando diretorios grandes com du. Mas e executar du, fazer cd em uma pasta mais profunda, executar du de novo, cd de novo... esta demorando uma eternidade.
Veterano Linny: Ah, o classico "du spam." Todo mundo passa por isso uma vez. A questao e que existe uma ferramenta dedicada chamada ncdu que faz tudo isso com apenas as setas do teclado.
Lina: So setas? Sem cd, sem du?
Veterano Linny: Isso. O ncdu permite navegar pela tela como um gerenciador de arquivos, entrar nos maiores diretorios e ate deleta-los ali mesmo. Vamos aprender juntos.

A Resposta Curta

  • ncdu = NCurses Disk Usage. Uma ferramenta que mostra resultados do du em uma tela interativa
  • Mova com setas, delete no local com d, ordene por tamanho com s
  • Basta instalar com sudo apt install ncdu e executar ncdu /

1. O Que E o ncdu?

Conclusao: ncdu mostra resultados do du em uma visualizacao interativa em tela cheia, para que voce possa entrar nos maiores caminhos com as setas.

Lina: O que ncdu significa?
Veterano Linny: "NCurses Disk Usage." NCurses e uma biblioteca para construir interfaces de tela cheia no terminal, e o ncdu usa isso para exibir resultados no estilo du.
Lina: Entao e como um du turbinado?
Veterano Linny: E um bom modelo mental. O du apenas despeja numeros, mas o ncdu ordena do maior primeiro, permite pressionar Enter em um diretorio e voltar. Voce chega ao vilao do espaco sem se perder.

ncdu vs du (em resumo)

  • du -> executar o comando uma vez e obter uma lista de numeros (depois cd e re-executar voce mesmo)
  • ncdu -> escanear uma vez, depois apenas navegar pela tela para investigar

2. Instalar e Executar

Conclusao: ncdu frequentemente nao vem instalado por padrao. Instale via apt / dnf, depois execute com ncdu CAMINHO.

Lina: Quero experimentar agora. Como instalo?
Veterano Linny: O pacote se chama ncdu em todas as distribuicoes. Vamos comecar pela instalacao.

Instalar

# Ubuntu / familia Debian
$ sudo apt install ncdu

# RHEL / familia Fedora
$ sudo dnf install ncdu

# CentOS mais antigo, etc.
$ sudo yum install ncdu

Executar

# Escanear o diretorio atual
$ ncdu

# Escanear um caminho especifico
$ ncdu /var

# Escanear toda a raiz (sudo recomendado)
$ sudo ncdu /
Lina: Executei ncdu / e apareceu "Scanning..." e me fez esperar.
Veterano Linny: Isso e esperado. Ao executar, o ncdu escaneia tudo sob o caminho informado uma vez. Assim como o du, um alvo grande demora um momento. Quando o escaneamento termina, ele muda para a visualizacao em lista.

Use sudo para Escaneamentos em Todo o Sistema

Em / existem diretorios que um usuario normal nao pode ler. Sem sudo, voce recebe "Permission denied" e essas partes nao sao contadas, entao os totais ficam menores. Para investigacao do sistema, sudo ncdu / e o ponto de partida.

Conclusao: Setas cima/baixo selecionam um item, Enter (ou seta direita) entra em um diretorio, seta esquerda volta, e q sai.

Veterano Linny: Quando o escaneamento termina, voce ve uma tela como esta. O ponto-chave: os itens sao ordenados do maior primeiro.
--- /var ------------------------------------------------------
    1.2 GiB [##########] /log
  512.0 MiB [####      ] /cache
   24.0 MiB [          ] /lib
    4.0 KiB [          ] /games

Como Ler

  • O numero a esquerda: uso daquele diretorio ou arquivo
  • [#### ]: uma barra visualizando sua proporcao no diretorio pai
  • A / antes de um nome: indica um diretorio
  • O --- /var --- no topo: onde voce esta atualmente

Teclas Principais

Teclas de Movimentacao (aprenda apenas estas primeiro)

Tecla Acao
cima / baixo Selecionar um item (mover cima/baixo)
Enter ou -> Entrar no diretorio selecionado
<- Voltar para cima ao diretorio pai
q Sair do ncdu
? Mostrar ajuda (lista de teclas)
Lina: Entao eu movo o cursor sobre a lista de arquivos e pressiono Enter para entrar dentro... realmente e como um gerenciador de arquivos.
Veterano Linny: Nao e? Sem cd, sem du -- apenas setas para mergulhar no maior diretorio. Essa e a alegria do ncdu.

4. Ordenacao e Alternancia de Exibicao

Conclusao: s ordena por tamanho, n por nome, C por contagem de itens, e g alterna a exibicao de porcentagem/grafico.

Lina: Posso mudar a ordem de classificacao?
Veterano Linny: Claro. O padrao e do maior primeiro, mas voce pode trocar baseado no que esta procurando.

Teclas de Ordenacao e Exibicao

Tecla Acao
s Ordenar por tamanho (padrao)
n Ordenar por nome
C Ordenar por contagem de itens (C maiusculo)
g Alternar exibicao de porcentagem / barra grafica
a Alternar tamanho aparente vs. uso real no disco

Quando Usar a (tamanho aparente)

Por padrao o ncdu mostra o tamanho de bloco realmente ocupado no disco. Pressione a para mudar para o "tamanho aparente" do arquivo. Os dois divergem para arquivos esparsos ou muitos arquivos pequenos, entao conhecer a diferenca evita confusao.

5. Deletando no Local

Conclusao: Selecione um item e pressione d. Um prompt de confirmacao aparece, eliminando o ida e volta de encontrar com du e remover com rm.

Lina: Encontrei o diretorio grande, mas preciso sair do ncdu e executar rm para deletar?
Veterano Linny: Nao precisa. Dentro do ncdu, selecione o item que quer remover e pressione d. Ele pede confirmacao antes de deletar, entao todo o ida e volta de "encontrar com du, remover com rm" desaparece.

Passos para Deletar

  1. Selecione o arquivo/diretorio com cima / baixo
  2. Pressione d
  3. Escolha y (sim) / n (nao) no prompt de confirmacao

Checklist Pre-Delecao

  • O arquivo e realmente desnecessario (log / cache / temporario)?
  • Algum servico em execucao esta usando? (Para o problema de "arquivo deletado mas espaco nao retornou" por arquivo aberto, veja Entendendo du vs df)
  • Para logs grandes, esvaziar o arquivo no local sem parar o servico as vezes e mais seguro do que deletar

6. Opcoes que Importam na Pratica

Conclusao: -x permanece no mesmo sistema de arquivos, -r e somente leitura, e -o / -f exportam e reutilizam um escaneamento.

Veterano Linny: Conhecer algumas opcoes de execucao torna sua investigacao mais precisa e segura.

Opcoes Comuns de Execucao

Opcao Significado
-x Contar somente no mesmo sistema de arquivos (nao cruzar montagens)
-r Executar em modo somente leitura (desabilita delecao d)
-o FILE Exportar o resultado do escaneamento para um arquivo
-f FILE Importar um resultado exportado e exibi-lo
--exclude PATTERN Excluir caminhos correspondentes da contagem
Lina: -x nao e a mesma opcao que apareceu com o du?
Veterano Linny: Boa memoria. Igual ao du -x: quando /home e uma particao separada, impede a dupla contagem cruzando a fronteira. Util quando voce quer comparar com o df.

Use -r Quando a Seguranca Vem Primeiro

Para prevenir um pressionamento acidental de d, execute com sudo ncdu -r /. Com -r a funcao de delecao e desabilitada, entao e somente investigacao. Otimo para "apenas olhar" em um servidor de producao.

7. Escaneando o Disco de um Servidor Remoto

Conclusao: Transmita um escaneamento remoto para sua maquina via ssh e leia com ncdu -f-, para investigar interativamente sem instalar nada extra localmente.

Lina: Quero verificar o disco de um servidor, mas o ncdu nao esta instalado nele...
Veterano Linny: Boa observacao. O ncdu pode exportar / importar resultados de escaneamento, e combinado com ssh isso resolve.

Padrao A: Escanear Remotamente, Visualizar Localmente

# Executar apenas o escaneamento estilo du remotamente e canalizar o resultado para seu ncdu local
$ ssh user@server ncdu -o- / | ncdu -f-

Como Ler

  • ncdu -o-: escrever o resultado do escaneamento na saida padrao (- significa stdout)
  • ncdu -f-: ler o resultado da entrada padrao e exibi-lo
  • O | entre eles: canaliza a saida remota para seu ncdu local

Nota: -o ainda requer ncdu no lado remoto. Se realmente nao esta instalado la, use o Padrao B com um arquivo.

Padrao B: Salvar o Resultado e Levar para Casa

# No servidor, salvar o resultado (gzip mantem pequeno)
$ ncdu -o- / | gzip > scan.gz

# Transferir e carregar localmente
$ scp user@server:scan.gz .
$ zcat scan.gz | ncdu -f-
Lina: Se posso salvar o escaneamento em um arquivo, um batch noturno poderia salva-los periodicamente e eu poderia rastrear "quando ficou pesado."
Veterano Linny: Adorei esse instinto. Manter arquivos de exportacao ao longo do tempo da uma trilha pronta para investigar crescimento de capacidade.

8. Mini Exercicios: Experimente na Sua Maquina

Conclusao: Tres exercicios -- encontre seu maior diretorio home, alterne modos de ordenacao e execute em somente leitura -- para fixar os controles.

Veterano Linny: Para fixar, execute estes no seu proprio sistema -- nao em producao, comece local.

Exercicio 1: Execute ncdu ~ e encontre o maior diretorio diretamente sob seu home.

Exercicio 2: Pressione s e n na lista para confirmar que alterna entre ordem por tamanho e nome.

Exercicio 3: Execute ncdu -r /tmp e confirme que pressionar d nao deleta (somente leitura).

Dica para o Exercicio 1
ncdu ~

Apos executar, olhe para o item do topo (maior, ja que a ordenacao padrao e por tamanho). Pressione Enter para entrar e continue rastreando os maiores conteudos.

Dica para o Exercicio 2

Na visualizacao em lista, alterne entre s (tamanho) e n (nome). A ordem muda instantaneamente. Pressione a mesma tecla novamente para inverter ascendente / descendente.

Dica para o Exercicio 3
ncdu -r /tmp

Executar com -r (somente leitura) desabilita a tecla d -- voce nem recebe um prompt de delecao. Prova de que e seguro para uso somente investigativo.

9. Armadilhas Comuns

Conclusao: Cuidado com sudo ausente diminuindo os numeros, um d acidental deletando a coisa errada, e apontar para / em vez do seu home.

Tres Erros Comuns

  1. Escanear / sem sudo -> diretorios nao legiveis sao pulados e os totais ficam menores que a realidade
  2. Ver algo grande e imediatamente pressionar d -> contraproducente quando e um arquivo deletado-mas-aberto ou em uso por um servico; confirme o que e primeiro
  3. Operar em producao sem -r -> um d acidental deleta algo. Se esta apenas olhando, sempre use -r

Habitos Seguros

  • Para escaneamentos do sistema: sudo ncdu -x / (somente mesmo sistema de arquivos, sem cruzar)
  • Em servidores de producao, execute com -r (somente leitura) por padrao
  • Confirme nome, tamanho e timestamp antes de deletar. Na duvida, nao delete

Proximas Leituras