Nonostante i dischi siano sempre più capienti i problemi di spazio sono sempre dietro l’angolo, dunque è cosa buona e giusta sapere quali sono i file o le cartelle più grandi del sistema
Se è vero – come è vero – che per trovare file e cartelle di grandi dimensioni esistono numerosi programmi per Windows, trovare un software simile per Linux non è così semplice.
In realtà un software esterno è anche abbastanza inutile, perché combinando diversi comandi da terminale è possibile trovare file e cartelle di grandi dimensioni in Linux senza compiere sforzo particolare.
Fatto ciò, sarà più semplice sapere dove mettere le mani per liberare un bel po’ di spazio prezioso!
Trovare file e cartelle di grandi dimensioni in Linux
Per prima cosa capiamo come visualizzare le 10 cartelle più grandi presenti sul filesystem. Per farlo utilizzeremo una combinazione dei comandi du (che sta per Disk Usage), sort (che ne permette l’ordinamento) e head (che mostra soltanto i primi X risultati, 10 per impostazione predefinita).
Il comando da utilizzare è:
du -hs */ | sort -hr | head
Che, in termini umani, sta per:
- mostra lo spazio occupato dai file in / in un formato umanamente leggibile (du -hs);
- prendi questo spazio ed ordinalo secondo la numerazione umana (sort -hr);
- mostra soltanto i primi 10 risultati.
Chiaramente potrete modificare il numero di cartelle mostrate specificando dopo head il segno “-” seguito dal numero desiderato. Ad esempio
du -hs */ | sort -hr | head -15
visualizzerà le 15 cartelle più pesanti del sistema.
Una volta localizzata una cartella particolarmente pesante, andremo ad usare il comando di seguito per mostrare i 10 file più grandi contenuti in essa.
Posizioniamoci nella directory con il comando
cd /percorso/directory
e, al suo interno, digitiamo il comando
ls -lS | head
L’utilizzo del comando head è il medesimo visto in precedenza; i due parametri impartiti ad “ls” servono per visualizzare in particolare lo spazio occupato da ogni file.
Se invece volete trovare ricorsivamente i file più grandi in directory e sottodirectory potrete combinare il comando find con i comandi sort ed head.
Ad esempio, per visualizzare i primi 5 file più grandi, potrete digitare
find -type f -ls | sort -k 7 -r -n | head -5
In particolare:
- find cercherà dalla lista delle sottodirectory (-ls) soltanto i file e non le cartelle (-type f);
- sort si occuperà di ordinarli numericamente (-n) in base alla settima colonna dei risultati (lo spazio occupato, -k 7) in ordine decrescente (-r);
- head -5, come visto in precedenza, mostrerà soltanto i primi 5 risultati.