GNU/Linux >> Tutoriales Linux >  >> Linux

¿Ordenar archivos según el tamaño de forma recursiva?

Necesito encontrar los archivos más grandes en una carpeta.
¿Cómo escaneo una carpeta recursivamente y clasifico el contenido por tamaño?

He intentado usar ls -R -S , pero esto también enumera los directorios.
También intenté usar find .

Respuesta aceptada:

También puedes hacer esto con solo du . Solo para estar seguro, estoy usando esta versión de du :

$ du --version
du (GNU coreutils) 8.5

El enfoque:

$ du -ah ..DIR.. | grep -v "/$" | sort -rh

Desglose del enfoque

El comando du -ah DIR producirá una lista de todos los archivos y directorios en un directorio dado DIR . El -h producirá tamaños legibles por humanos que prefiero. Si no los quiere, suelte ese interruptor. Estoy usando el head -6 ¡solo para limitar la cantidad de salida!

$ du -ah ~/Downloads/ | head -6
4.4M    //eadn-wc01-5196795.nxedge.io/home/saml/Downloads/kodak_W820_wireless_frame/W820_W1020_WirelessFrames_exUG_GLB_en.pdf
624K    //eadn-wc01-5196795.nxedge.io/home/saml/Downloads/kodak_W820_wireless_frame/easyshare_w820.pdf
4.9M    //eadn-wc01-5196795.nxedge.io/home/saml/Downloads/kodak_W820_wireless_frame/W820_W1020WirelessFrameExUG_GLB_en.pdf
9.8M    /home/saml/Downloads/kodak_W820_wireless_frame
8.0K    /home/saml/Downloads/bugs.xls
604K    //eadn-wc01-5196795.nxedge.io/home/saml/Downloads/netgear_gs724t/GS7xxT_HIG_5Jan10.pdf

Lo suficientemente fácil como para ordenarlo de menor a mayor:

$ du -ah ~/Downloads/ | sort -h | head -6
0   /home/saml/Downloads/apps_archive/monitoring/nagios/nagios-check_sip-1.3/usr/lib64/nagios/plugins/check_ldaps
0   /home/saml/Downloads/data/elasticsearch/nodes/0/indices/logstash-2013.04.06/0/index/write.lock
0   /home/saml/Downloads/data/elasticsearch/nodes/0/indices/logstash-2013.04.06/0/translog/translog-1365292480753
0   /home/saml/Downloads/data/elasticsearch/nodes/0/indices/logstash-2013.04.06/1/index/write.lock
0   /home/saml/Downloads/data/elasticsearch/nodes/0/indices/logstash-2013.04.06/1/translog/translog-1365292480946
0   /home/saml/Downloads/data/elasticsearch/nodes/0/indices/logstash-2013.04.06/2/index/write.lock

Invertirlo, de mayor a menor:

$ du -ah ~/Downloads/ | sort -rh | head -6
10G /home/saml/Downloads/
3.8G    /home/saml/Downloads/audible/audio_books
3.8G    /home/saml/Downloads/audible
2.3G    /home/saml/Downloads/apps_archive
1.5G    /home/saml/Downloads/digital_blasphemy/db1440ppng.zip
1.5G    /home/saml/Downloads/digital_blasphemy

No me muestres el directorio, solo los archivos:

$ du -ah ~/Downloads/ | grep -v "/$" | sort -rh | head -6 
3.8G    /home/saml/Downloads/audible/audio_books
3.8G    /home/saml/Downloads/audible
2.3G    /home/saml/Downloads/apps_archive
1.5G    /home/saml/Downloads/digital_blasphemy/db1440ppng.zip
1.5G    /home/saml/Downloads/digital_blasphemy
835M    /home/saml/Downloads/apps_archive/cad_cam_cae/salome/Salome-V6_5_0-LGPL-x86_64.run

Si desea excluir todos los directorios de la salida, puede usar un truco con la presencia de un carácter de punto. Esto supone que los nombres de sus directorios no contienen puntos y que los archivos que está buscando sí los contienen. Luego puede filtrar los directorios con grep -v '\s/[^.]*$' :

$ du -ah ~/Downloads/ | grep -v '\s/[^.]*$' | sort -rh | head -2
1.5G    /home/saml/Downloads/digital_blasphemy/db1440ppng.zip
835M    /home/saml/Downloads/apps_archive/cad_cam_cae/salome/Salome-V6_5_0-LGPL-x86_64.run

Si solo desea la lista de menor a mayor, pero los 6 principales archivos ofensivos, puede invertir el cambio de clasificación, suelte (-r ), y usa tail -6 en lugar del head -6 .

$ du -ah ~/Downloads/ | grep -v "/$" | sort -h | tail -6
835M    /home/saml/Downloads/apps_archive/cad_cam_cae/salome/Salome-V6_5_0-LGPL-x86_64.run
1.5G    /home/saml/Downloads/digital_blasphemy
1.5G    /home/saml/Downloads/digital_blasphemy/db1440ppng.zip
2.3G    /home/saml/Downloads/apps_archive
3.8G    /home/saml/Downloads/audible
3.8G    /home/saml/Downloads/audible/audio_books

Linux
  1. Eliminar archivos recursivamente de forma segura:trituración

  2. ¿Cómo copiar archivos recursivamente por extensión de archivo?

  3. Cómo encontrar todos los archivos con tamaño de archivo cero (0) bytes en un directorio recursivamente

  4. Optimización recursiva de archivos PNG

  5. Archivos .o frente a archivos .a

Cómo cambiar recursivamente los permisos de archivos en Linux

Cómo copiar archivos con una extensión de archivo específica recursivamente

Cómo listar archivos recursivamente en Linux

Crear archivos de tamaño personalizado en Linux

Cómo verificar el tamaño de los archivos y directorios en Linux

¿Cómo enumerar todos los archivos ordenados por tamaño en Linux?