¿Cómo encontrar los directorios más grandes o los archivos más grandes? [duplicar]


33

Esta pregunta ya tiene una respuesta aquí:

En Linux, estoy buscando un comando para enumerar el archivo más grande y / o los directorios más grandes en un directorio.


La herramienta más útil que he encontrado es xdiskusage ( xdiskusage.sourceforge.net ) Esto muestra gráficamente dónde están los archivos, por tamaño. Gran herramienta! (y funciona directamente con X11)
— jcoppens

¿Cómo se duplica esto de alguna pregunta que se ha cerrado como fuera de tema? No tiene sentido
— kenorb

Respuestas:


17

De cualquier directorio:

du -a | sort -n -r


1
esto muestra archivos individuales, pero la pregunta también se trata de directorios
— ver

du sin argumentos resume el uso del disco por los directorios. du with -a produce la misma información de directorio e incluye el uso del disco para archivos individuales también.
— Brent Worden

no se puede ejecutar ordenar cuando estás fuera del espacio: = (
— Jonathan Henson

28

El siguiente comando le muestra un nivel de directorios y sus tamaños

du --max-depth = 1 / ruta | ordenar -r -k1,1n

Si uno de ellos realmente sobresale (el último en la lista es el más grande debido a sort -r), entonces vuelve a ejecutar el comando en ese directorio y luego continúa hasta encontrar el directorio / archivo ofensivo.

Si todo lo que quieres son los diez archivos más grandes, simplemente

find / home -type f -exec du -s {} \; El | ordenar -r -k1,1n | cabeza


el mayor número termina en la parte inferior para mí, no importa si agrego sort -ro no. ¿Hay alguna manera de obtener el mayor número en la parte superior?
— squarecandy

Debe indicar para ordenar por qué columna desea ordenar, y que es numérico (no alfanumérico). Eso es lo que haría -k1,1rn. De manera predeterminada, sort usa ordenación alfanumérica en la primera columna.
— Marcin

Sí, se está ordenando correctamente con eso, pero está en orden ascendente de números bajos a altos sin importar si incluyo sorto sort -r. ¿Estoy malinterpretando cómo funciona el -r? Supongo que no es gran cosa. Su ejemplo es muy útil y me dio la información que necesitaba.
— squarecandy

2
Con el sortque tengo ( sort (GNU coreutils) 8.13en Ubuntu 12.04.3) la opción -rno funciona si -nsigue inmediatamente -k( -k1,1n). Este orden de las opciones funciona: sort -rnk1,1.
— pabouk

27

Una utilidad llamada ncdule dará la información que está buscando.

sudo apt-get install ncdu

En OS X, se puede instalar usando Homebrew:

brew install ncdu

2
+1 Nunca había oído hablar de este antes, funcionó muy bien en Mac también.
— Andrew E

Esta es una solución mucho mejor que las dos respuestas más altas.
— AlexLordThorsen

Esto es alucinante. ¡Sugiéralo sobre todas las otras respuestas!
— Allen Gingrich

4

du -sk * | sort -nr | cabeza -1

Esto mostrará el directorio / archivo más grande en un directorio en KB. Cambiar el valor del encabezado dará como resultado los x archivos / directorios superiores.


2

Esta publicación te ayudará bien:

cd /path/to/some/where
du -a /var | sort -n -r | head -n 10
du -hsx * | sort -rh | head -10

2

El siguiente comando devolverá los 10 archivos principales más grandes /path

du -a -h / ruta | ordenar -h -r | cabeza -n 10

Me gusta usar -hopciones de legibilidad. Ambos duy sortnecesito tener -h.


1

Utilizar

ls -A | xargs -I artifact du -ms artifact | sort -nr

Opcionalmente, puede agregar una tubería y usar head -5



0

Pruebe el siguiente one-liner (muestra los 20 archivos más grandes en el directorio actual):

ls -1Rs | sed -e "s/^ *//" | grep "^[0-9]" | sort -nr | head -n20

o con tamaños legibles por humanos:

ls -1Rhs | sed -e "s/^ *//" | grep "^[0-9]" | sort -hr | head -n20

El segundo comando para trabajar en OSX / BSD correctamente (como sortno tiene -h), debe instalar sortdesde coreutils.

Por lo tanto, estos alias son útiles para tener en sus archivos rc (cada vez que lo necesite):

alias big='du -ah . | sort -rh | head -20'
alias big-files='ls -1Rhs | sed -e "s/^ *//" | grep "^[0-9]" | sort -hr | head -n20'

-5
du -sh /path * | sort -nr | grep G

G para archivos / directorios GIG (para eliminar pequeños)


Esto enumera todos los archivos y carpetas, mostrando el tamaño. No clasifica el tamaño por el valor de K, M o G de bytes, a menos que lo aumente como se muestra
— Canadian Luke REINSTATE MONICA

También encontrará cualquier cosa con un Gen el nombre del archivo.
— Kevin Panko
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.