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.
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.
Respuestas:
De cualquier directorio:
du -a | sort -n -r
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
sort -r
o no. ¿Hay alguna manera de obtener el mayor número en la parte superior?
sort
o 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.
sort
que tengo ( sort (GNU coreutils) 8.13
en Ubuntu 12.04.3) la opción -r
no funciona si -n
sigue inmediatamente -k
( -k1,1n
). Este orden de las opciones funciona: sort -rnk1,1
.
Una utilidad llamada ncdu
le dará la información que está buscando.
sudo apt-get install ncdu
En OS X, se puede instalar usando Homebrew:
brew install ncdu
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
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
sort
no tiene-h
), debe instalarsort
desdecoreutils
.
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'
du -sh /path * | sort -nr | grep G
G para archivos / directorios GIG (para eliminar pequeños)
G
en el nombre del archivo.