¿Qué comando imprimirá los tamaños de todos los archivos y directorios en el directorio tmp (incluidos los ocultos) y los ordenará por tamaños de mayor a menor en formato legible para humanos (por ejemplo, 2 GB)?
El resultado podría ser el siguiente:
file.mpg 2GB
file.avi 1.8GB
.backtup 1.7 GB (this is directory)
Traté de usar los comandos ls
y du
pero no pude encontrar los interruptores correctos.
fuente
sort -nr
si quiere los valores más grandes en la parte superior.Para enumerar los archivos en cualquier lugar
/tmp
, ordenados por tamaño:Para enumerar los archivos y los árboles de directorios inmediatamente debajo
/tmp
, ordenados por tamaño:Para enumerar todos los archivos y árboles de directorios en cualquier lugar
/tmp
, ordenados por tamaño:(Un ejemplo para ilustrar la diferencia entre los tres comandos: si hay un archivo
/tmp/dir/file
, la primera lista de comandos/tmp/dir/file
, la segunda lista/tmp/dir
y la tercera lista ambas).Todos los comandos anteriores muestran tamaños en kilobytes. Si bien GNU du puede generar tamaños "legibles para humanos" (con multiplicadores k, M, G, etc.), ordenarlos es otra cuestión. Bastante reciente GNU coreutils (≥7.4) puede hacerlo: simplemente reemplace
du -k
condu -h
ysort -k1n -k2
consort -k1h -k2
. De lo contrario, aquí hay un script awk crudo para convertir a tamaños con sufijo (redondeando hacia abajo); simplemente canalice lasort
salida de arriba en él.fuente
du
llamada.Estoy usando el siguiente alias para ello:
alias ds='du -x --all --max-depth=1 . | sort -n'
Imprime tamaños de todos los archivos y subdirectorios de primer nivel del directorio actual.
fuente
Con la versión actual de gnu sort (y tomando prestado el patrón de archivo @ penguin359)
Con una versión anterior de tipo
EDITAR: parámetro -S agregado
du
para no incluir subdirectorios.fuente
--apparent-size
a du parámetros.ACTUALIZACIÓN: he descartado el script anterior. Aquí hay una nueva versión, usando
du
yawk
(la anterior usadatree
ysed
)Esta es la salida de:
dusort ~/test 1
Aquí está el guión
fuente
tree
hace. si desea utilizar el espacio en disco, entoncesdu
hace eso ... (tree
no totaliza un directorio)man du
que también puede informar el "tamaño aparente del archivo" ...The apparent size of a file is the number of bytes reported by
wc -c 'en archivos normales, o más generalmente,ls -l --block-size=1' or
stat --format =% s '. Por ejemplo, un archivo que contiene la palabrazoo' with no newline would, of course, have an apparent size of 3.
muestra los archivos más grandes primero, por lo que puede qusarlos tan pronto como haya visto lo suficiente.
fuente