¿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.