Cerca nelle directory o nei file più grandi sul tuo disco rigido con find

Hai mai desiderato sapere quale cartella o file è il più grande sul tuo disco rigido?

Il comando Find è fantastico, ci permette di fare molte cose (di alcune ne abbiamo già parlato qui), qui ve ne porto un altro uso.

Il seguente comando cercherà nell'intero HDD e ci dirà quali sono i 10 file o cartelle più grandi sul computer:

sudo find / -printf '%s %p\n'| sort -nr | head -10

Se vuoi conoscere non solo i 10 più grandi, ma anche i 20 o qualcosa del genere, scambia gli ultimi 10 con quello desiderato.

Come ho detto prima, questo conterà sia le cartelle che i file, se vuoi solo prendere in considerazione il file carpetas sarebbe aggiungere -type d (d = directory):

sudo find / -type d -printf '%s %p\n'| sort -nr | head -10

Al contrario e voglio vedere solo il file record e nessuna cartella sarebbe -type f (f = file):

sudo find / -type f -printf '%s %p\n'| sort -nr | head -10

Se vuoi specificare il tipo di file, cioè, prendi in considerazione .mp4, aggiungi semplicemente un -iname "* .mp4":

sudo find / -iname "*.mp4" -printf '%s %p\n'| sort -nr | head -10

Nel mio caso i file più grandi che ho sono gli HDD virtuali dei miei server virtuali con KVM+ Qemu, poi un video di calcio (presentazione di Gareth Bale con il Real Madrid) e altre cose.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   borisadriano suddetto

    Proprio quello che cercavo per sapere dove occupo più spazio nella mia radice e poterlo così liberare.

    Grazie.

  2.   Eduardo suddetto

    Articolo molto buono, molto utile. Grazie mille ... A proposito, Hala Madrid !! hehehe

    1.    FIXOCONN suddetto

      Mi unisco al gruppo di Madrid qui
      qualche tempo fa ho installato centos 6.5 minimal e ho avuto questo errore e l'ho risolto modificando il / etc / hostname, perché il nome host che avevo scritto nella configurazione della scheda di rete non veniva riconosciuto da apache

  3.   3°3°0 suddetto

    Se c'è qualcosa che mi piace di «Desde Linux» è che per la console compaiono sempre queste gemme che rendono più sopportabile la nostra vita tra zero e uno. Grazie mille KZKG ^ Gaara!

  4.   più bello suddetto

    Giurerei di aver letto in questo blog un'alternativa, che da quando l'ho scoperta non posso più farne a meno:

    ncdu

    È un comando interattivo che non viene fornito di default (devi installarlo dal tuo pacchetto distro) ma è tremendamente utile. Ordina i file in base alla dimensione, mostrandoti una barra o una percentuale dello spazio che occupano sulla partizione. Ecco uno screenshot tratto da Internet http://www.heitorlessa.com/wp-content/uploads/2013/04/NCDU-1.9-Disk-stats.png

  5.   vidagnu suddetto

    Può anche essere fatto con il comando du.
    Questo serve per trovare le cartelle

    $ du -Sh | sort -rh | testa -n 15

    E questo per trovare i file più grandi.

    $ find. -type f -exec du -Sh {} + | sort -rh | testa -n 15

    $ find. -type f -exec du -Sh {} + | sort -rh | testa -n 15

  6.   hup80 suddetto

    E qual è la spiegazione per ciascuna opzione?

  7.   Luis Gago Casas suddetto

    Un ottimo articolo mi è stato di grande aiuto.
    Grazie molte per averlo condiviso.

  8.   Roger Reyes suddetto

    Qualcuno può aiutarmi? Ho bisogno di un comando che cerchi all'interno di una directory tutti i file .txt che sono maggiori di 0 byte e li sposta in un'altra directory, finora ho trovato solo questo:

    trova. -type f -size + 1b -exec mv /home/oradev/new/*.txt / home / oradev / move \;

    ma sposta tutti i file indipendentemente dalla loro dimensione.

  9.   jac suddetto

    Grazie per il comando!

    L'aveva usato in altre occasioni, ma solo in modalità "Script kiddie" ... a causa della fretta e così via.

    E anche se find è un comando molto comunemente usato (-name, –exec), non sono stato in grado di dare una buona occhiata all'intero manuale.

    Mi ero già reso conto del potere brutale che ha questo magnifico strumento ... ma ora lo vedo con più attenzione e lo ammiro di più.

    Eccolo in spagnolo:
    http://es.tldp.org/Paginas-manual/man-pages-es-extra-0.8a/man1/find.1.html

    È una puttana che gli argomenti non siano più intuitivi ... O li conosci, perché li hai imparati, o rovisti in inet o man quando non ci sono più ... otas.

    Grazie ancora e grazie come sempre a GNU!

    Una domanda ... solo per curiosità:

    Quando metti l'argomento "printf" per trovare ...
    Find usa il comando printf di sistema o printf è implementato all'interno di find?

    Dico questo, perché printf è un comando implementato nel sistema per sempre, ma che personalmente non ho mai dovuto utilizzare ... almeno direttamente.

    Un saluto!

    giac.

  10.   piumone suddetto

    potresti dirmi come eseguire sudo find / -type f -printf '% s% p \ n' | sort -nr | testa -10
    evitando alcuni percorsi?

    Ho per esempio:
    / dev / sda2 19G 16G 2.8G 85% /
    udev 10M 0 10M 0% / dev
    tmpfs 3.2 G 329 M 2.9 G 11% / corsa
    tmpfs 7.9G 153M 7.8G 2% / dev / shm
    tmpfs 5.0 M 0 5.0 M 0% / esecuzione / blocco
    tmpfs 7.9G 0 7.9G 0% / sys / fs / cgroup
    / dev / sda1 453M 37M 389M 9% / avvio
    / dev / drbd3 477 M 2.3 M 445 M 1% / var / lib / nfs
    / dev / drbd1 1.9T 821G 1005G 45% / nfs / home
    / dev / drbd2 2.9T 960G 1.8T 36% / nfs / homearchive
    / dev / drbd0 962G 426G 488G 47% / nfs / pool

    e durante l'esecuzione find / -type f -printf '% s% p \ n' | sort -nr | testa -10
    Ottengo file da /nfs/
    vorrei ignorarlo