Busca nos directorios ou ficheiros máis grandes do teu disco duro con find

Algunha vez quixo saber que cartafol ou arquivo é o máis grande do teu disco duro?

O comando atopar É xenial, permítenos facer moitas cousas (xa falamos dalgunhas delas aquí), aquí vos traio outro uso dela.

O seguinte comando buscará todo o disco duro e indicaranos cales son os 10 ficheiros ou cartafoles máis grandes do ordenador:

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

Se queres saber non só os 10 maiores, senón os 20 ou algo así, simplemente cambia os últimos 10 polo desexado.

Como dixen antes, isto contará cartafoles e ficheiros, se só quere ter en conta o carpetas sería engadir o tipo d (d = directorio):

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

Pola contra e quero ver só o rexistros e ningún cartafol sería de tipo f (f = ficheiro):

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

Se queres especificar o tipo de ficheiro, é dicir, só tes que ter en conta o .mp4, só tes que engadir un nome "* .mp4":

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

No meu caso, os ficheiros máis grandes que teño son os discos duros virtuais dos meus servidores virtuais KVM+ Qemu, logo un vídeo de fútbol (presentación de Gareth Bale co Real Madrid) e outras cousas.


O contido do artigo adhírese aos nosos principios de ética editorial. Para informar dun erro faga clic en aquí.

11 comentarios, deixa os teus

Deixa o teu comentario

Enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados con *

*

*

  1. Responsable dos datos: Miguel Ángel Gatón
  2. Finalidade dos datos: controlar SPAM, xestión de comentarios.
  3. Lexitimación: o seu consentimento
  4. Comunicación dos datos: os datos non serán comunicados a terceiros salvo obrigación legal.
  5. Almacenamento de datos: base de datos aloxada por Occentus Networks (UE)
  6. Dereitos: en calquera momento pode limitar, recuperar e eliminar a súa información.

  1.   borisadriano dixo

    Só o que buscaba para saber onde ocupo máis espazo na miña raíz e así poder liberalo.

    Grazas.

  2.   Eduardo dixo

    Moi bo artigo, moi útil. Moitas grazas ... Por certo, Hala Madrid !! jejeje

    1.    FIXOCONN dixo

      Únome aquí ao grupo madrileño
      Hai un tempo instalei centos 6.5 minimum e tiven este erro e solucioneino editando o / etc / hostname, porque o nome de host que escribira na configuración da tarxeta de rede non era recoñecido por apache

  3.   3rn3o 0 dixo

    Se hai algo que me gusta de "Desde Linux" é que estas xoias sempre aparecen para a consola que fan que a nosa vida entre ceros e uns sexa máis levadeira. Moitas grazas KZKG ^ Gaara!

  4.   vaia dixo

    Xuraría que lin unha alternativa neste blogue, que dende que o descubrín non podo vivir sen ela:

    ncdu

    É un comando interactivo que non vén por defecto (tes que instalalo dende o teu paquete distro) pero é tremendamente útil. Ordena os ficheiros por tamaño, mostrándolle unha barra ou unha porcentaxe do espazo que ocupan na partición. Aquí tes unha captura de pantalla extraída de internet http://www.heitorlessa.com/wp-content/uploads/2013/04/NCDU-1.9-Disk-stats.png

  5.   vidagnu dixo

    Tamén se pode facer co comando du.
    Trátase de atopar as carpetas

    $ du -Sh | ordenar -rh | cabeza -n 15

    E este para atopar os ficheiros máis grandes.

    $ atopar. -tipo f -exec du -Sh {} + | ordenar -rh | cabeza -n 15

    $ atopar. -tipo f -exec du -Sh {} + | ordenar -rh | cabeza -n 15

  6.   bo 80 dixo

    E cal é a explicación de cada opción?

  7.   Luis Gago Casas dixo

    Un bo artigo foi para min unha gran axuda.
    Moitas grazas por compartilo.

  8.   Roger Reyes dixo

    Alguén me pode axudar? Necesito un comando que mire dentro dun directorio para todos os ficheiros .txt superiores a 0 bytes e os mova a outro directorio, polo de agora só atopei isto:

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

    pero move todos os ficheiros independentemente do seu tamaño.

  9.   jack dixo

    Grazas polo comando.

    Usouno noutras ocasións, pero só no modo "Script kiddie" ... por mor da présa e demais.

    E a pesar de que find é un comando moi usado (-name, –exec), non fun capaz de botar unha ollada completa a todo o manual.

    Xa me decatara do brutal poder que ten esta magnífica ferramenta ... pero agora véxoo máis de preto e admíroo máis.

    Aquí o tes en castelán:
    http://es.tldp.org/Paginas-manual/man-pages-es-extra-0.8a/man1/find.1.html

    É unha cadela que os argumentos non sexan máis intuitivos ... Ou os coñeces, porque os aprendiches, ou buscar inet ou no home cando xa non hai ... otas.

    Grazas de novo e grazas coma sempre a GNU!

    Unha pregunta ... só por curiosidade:

    Cando pon o argumento "printf" para atopar ...
    Find usa o comando printf do sistema ou printf está implementado dentro de find?

    Digo isto, porque printf é un comando implementado no sistema para sempre, pero que persoalmente nunca tiven que facer uso ... polo menos directamente.

    Saúdos!

    jack.

  10.   duven dixo

    ¿podería dicirme como executar sudo find / -type f -printf '% s% p \ n' | | ordenar -nr | cabeza -10
    evitando algunhas rutas?

    Teño por exemplo:
    / dev / sda2 19G 16G 2.8G 85% /
    udev 10M 0 10M 0% / dev
    tmpfs 3.2G 329M 2.9G 11% / execución
    tmpfs 7.9G 153M 7.8G 2% / dev / shm
    tmpfs 5.0M 0 5.0M 0% / execución / bloqueo
    tmpfs 7.9G 0 7.9G 0% / sys / fs / cgroup
    / dev / sda1 453M 37M 389M 9% / arranque
    / dev / drbd3 477M 2.3M 445M 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 ao executar find / -type f -printf '% s% p \ n' | ordenar -nr | cabeza -10
    Recibo ficheiros de / nfs /
    Gustaríame ignoralo