Quando ci si ritrova con un Hard Disk dove lo spazio si è ridotto a tal punto che oltre a non poter installare ulteriori applicativi si bloccano anche i servizi che richiedono la scrittura su disco, come ad esempio MySQL, può essere utile individuare le cartelle e i file con le maggiori dimensioni.
Su Linux esistono alcuni comandi che se lanciati da terminale possono restituirci una lista delle cartelle o file più capienti in modo che si possa procedere a una loro cancellazione o trasporto su altro Hard Disk.
Il comando da utilizzare in quensto caso è du seguito da alcuni parametri:
du -hs */ | sort -hr | head
du serve a calcolare la dimensione di una cartella o file. Il parametro
-h visualizza la dimensione in formato human, cioè in Megabyte o Gigabyte
-s stampa solo il totale per ogni argomento.
sort ordina i file e di default lo fa alfabeticamente. Il parametro -h ha la stessa funzione di quello di du soprascritto mentre -r serve ad invertire il risultato dei confronti.
head stampa le prime 10 righe di un file e nel nostro caso stamperà le prime 10 righe che avrà avuto in input.
Con il seguente comando si ottiene in output i 10 file più grandi presenti nella directory corrente, ordinati in ordine decrescente:
ls -lS | head
Mentre con il seguente comando si possono trovare n file più grandi nelle sottodirectory in modo ricorsivo:
find -type f -ls | sort -k 7 -r -n | head -5
con il parametro “head -5” saranno visualizzati solo i primi 5 risultati. Se omesso il parametro -5 verranno mostrati i primi 10, valore di default come nei precedenti due comandi.