Quando si gestisce un server che permette la memorizzazione di file, come un semplice NAS casalingo o un server per il backup, è facile cominciare a caricavi dati senza preoccuparsi troppo dello spazio che si occupa. Dopo un po’ di tempo, tuttavia, la questione dello spazio può facilmente diventare un problema. E questo è valido anche sul proprio PC: spesso capita di accorgersi improvvisamente di essere a corto di spazio, e dover spostare o cancellare qualcosa per evitare di intasare l’intero hard disk. La domanda, a questo punto è sempre la stessa: cosa si può rimuovere? L’idea migliore è scoprire quali siano i file più grandi, per recuperare molto spazio. Per i computer dotati di interfaccia grafica si può usare Filelight , anche se è un po’ lento. Per i server, come i Raspberry, ai quali si accede tramite SSH, serve una interfaccia a riga di comando. Ed esiste: si chiama ncdu . È basato su una comoda interfaccia ncurses, e permette di scoprire le dimensioni di file e cartelle in modo ricorsivo. Ha il vantaggio di essere veloce e facile da utilizzare anche negli script.
Il modo più semplice per avviare l’interfaccia di Ncdu è chiamarlo dal terminale col comando ncdu /home/
, dove ovviamente l’argomento indicato è il percorso da aprire. Se si avvia il programma senza specificare una cartella, verrà scansionata la cartella attuale, quindi è comodo da avviare dal proprio file manager (in genere premendo F4 ).
Rapidamente, il programma presenta una semplice interfaccia con cui è facile navigare tra file e cartelle usando le frecce e il tasto Invio. Il problema è che, nella ricerca dei file, potrebbe seguire anche punti di mount e continuare la ricerca su altri dispositivi (per esempio, se si cerca a partire da / prima o poi si incontrerà /media/ ). Per evitarlo basta usare l’opzione -x .
Per gestire la visualizzazione dei file si possono utilizzare i comandi
s
Mette i file in ordine per dimensione (predefinito)
n
Mette i file in ordine per nome
g
Mostra una barra o il numero della percentuale di spazio occupato da un file nella cartella attuale
c
Mostra il numero di file in un cartella
i
Mostra informazioni relative al file selezionato
r
Scansiona di nuovo la cartella
Per uscire dal programma si preme il classico tasto q
.
Una caratteristica interessante di ncdu è che può essere utilizzato negli script per automatizzare il controllo del disco. Dando il comando
ncdu -qxo- /home > du_report.txt
si inserisce il riepilogo di file e sottocartelle in un file, che può poi essere letto con il comando less
, oppure comparato a versioni precedenti con diff
. Ma può anche essere controllato in seguito con il comando
cat du_report.txt ncdu -f-
Il che è ovviamente molto utile se si vuole controllare un disco molto grande: basta dare il primo comando e aspettare i minuti o le ore necessarie affinché la scrittura del file sia completa. Poi si può comodamente controllare il risultato.