#howto - Gestire file e cartelle pesanti con ncdu
Prima o poi, capita a chiunque di dover fronteggiare problemi di spazio.
Tuttavia, non è sempre facile comprendere quali file convenga eliminare senza controllare, una ad una, cartella dopo cartella.
Per scoprire precisamente quali siano i file e cartelle che impattano maggiormente sulla memoria interna, risulta molto comodo l’utilizzo di ncdu.
Che cos’è ncdu
Ncdu, contrazione di “NCurses Disk Usage”, è un software che fornisce una panoramica dei file più pesanti presenti sul disco.
Si tratta di una versione interattiva, più semplice e immediata del meglio noto du
.
È possibile interagire con ncdu
solamente da terminale mediante l’interfaccia grafica basata su ncurses: è una TUI (“Text User Interface”), una soluzione a metà tra la semplicità di una GUI e la convenienza di una CLI.
Installazione
Ubuntu
apt install ncdu
Fedora
dnf install ncdu
Arch Linux
pacman -S ncdu
Altri metodi di installazione
Una lista più esaustiva dei port di ncdu disponibili su altre distribuzioni è presente sul sito ufficiale
Avvio
Per utilizzare il software, è necessario lanciare da terminale l’omonimo comando:
ncdu
Flag principali
ncdu
può essere lanciato specificando apposite le apposite flag.
Di seguente sono elencate le principali (per maggiori dettagli, ricorrere alla pagina di manuale con man ncdu
oppure visitando sul Web il manuale ufficiale).
Flag | Descrizione |
---|---|
-h, –help | Visualizza il messaggio d’aiuto. |
-q | “Quiet mode”, ricarica ogni 2 secondi aggiornando l’interfaccia (senza che sia necessario farlo manualmente). |
-v, -V, –version | Visualizza la versione. |
-e | Attiva la visualizzazione di più informazioni (come la data di ultima modifica di ciascun file). |
-r | Modalità read only (non è possibile eliminare i file). |
–si | Utilizza i prefissi del sistema decimale anziché i prefissi del sistema binario |
–color |
Cambia lo schema dei colori utilizzato (parametri consentiti: “off”, attivo di default, e “dark”) |
È anche possibile specificare la cartella da visualizzare all’avvio passandola come parametro (esempio: ncdu ~/Downloads
)
Utilizzo
Una volta avviato ncdu
, è possibile navigare tra le directory, visualizzare informazioni su file e cartelle e anche eliminare file.
Tasto | Descrizione |
---|---|
? | Visualizza il riquadro d’aiuto, contentente l’elenco esaustivo dei comandi. |
Freccia ↑, k | Passa al file precedente. |
Freccia ↓, j | Passa al file successivo. |
Freccia ←, <, h | Ritorna alla cartella superiore (parent dir). |
Freccia →, invio, l | Discendi nella cartella selezionata. |
b | Avvia una shell a parte nella cartella corrente (una volta chiusa ritorna automaticamente a ncdu). |
c | Mostra i file contenuti all’interno delle singole cartelle. |
d | Elimina il file selezionato (richiede conferma). |
g | Mostra in che percentuale il peso del file si trova rispetto al totale (testo, barra, entrambi). |
i | Visualizza maggiori informazioni sul file selezionato. |
m | Visualizza la data di ultima modifica accanto a ciascun file (richiede la flag -e). |
r | Ri-analizza la cartella attuale (non necessario se avviato con la flag -q). |
q | Chiudi l’interfaccia e ritorna al terminale. |
Ncdu2
Nel 2021, dopo quattordici anni dallo sviluppo della versione iniziale, il creatore nonché mantainer di ncdu
ha avviato lo sviluppo di una sua nuova versione, ncdu2
.
Va premesso che sia ncdu che ncdu2 sono entrambi progetti attivi e in sviluppo. La tradizionale versione di ncdu
, si legge sulla home page, “è lievemente indietro rispetto alla versione 2.x in termini di funzionalità e prestazioni, ma resta ancora in sviluppo ed è perfettamente utilizzabile.”
Secondo le intenzioni originarie dell’autore, la nuova versione sarebbe dovuta essere completamente compatibile con la precedente a livello di flag, comandi, interfaccia grafica e funzionalità.
Tuttavia, siccome la nuova versione è stata riscritta completamente da zero, vi sono alcune differenze. Di seguito un elenco breve e non esaustivo:
ncdu | ncdu2 | |
---|---|---|
Inizio sviluppo | 2007 | 2021 |
Tipo di versione | LTS | Stable |
Linguaggio | C | Zig (instabile) |
Risorse usate | - | Meno della metà della RAM, se confrontato con ncdu in condizioni ordinarie |
Hard link | Supporto base | Supporto avanzato, con un’interfaccia specifica e maggiormente dettagliata |
Unicode | Supporto base | Supportati i “full-width characters”, non supportati i “combining marks” |
I sorgenti di ncdu2
sono disponibili per il download sulla pagina apposita.