Passione Informatica

Web & Computer

Bash - Ricerca files per dimensione

2019-04-11 17:47:07

In ambienti Unix vi siete mai chiesti: "Come faccio a trovare i files più grandi per liberare velocemente spazio?". Questa è una veloce soluzione per identificarli e decidere se eliminarli o conservali.

Il comando 'find' è un coltellino svizzero estremamente versatile!

Aprite un terminale sul vostro host di interesse.

Posizionatevi nella cartella che pensate possa contenere file obsoleti e di grandi dimensioni da cercare. Normalmente le cartelle in cui effettuiamo i download da Internet sono quelle dove si accumula più sporcizia. Provate!


Il comando che dovete quindi lanciare è il seguente:

find . -printf '%s %p\n'| sort -nr | head -50


Otterrete così una lista ordinata per grandezza discendente dei 50 files più grandi trovati da questa ricerca.


Spiegazione in dettaglio

Il comando find consente di eseguire potenti e mirate ricerche per ottenere risultati veramente sorprendenti.

Nel nostro caso lanciamo il comando sulla cartella corrente (il .), utilizziamo il parametro -printf chiedendo che i risultati esposti siano la dimensione (%s) e il percorso (%p) dei files che verranno trovati. Utilizziamo un a capo (\n) per rendere leggibile il risultato in output.

Il comando a questo punto viene mandato in 'pipe' (|) al comando sort che si occupa di ordinare in maniera numerale decrescente i risultati ottenuti (-nr).

Infine usiamo un altro 'pipe' per eseguire un head che prende le prime 50 occorrenze (-50).

Godetevi il risultato!!