2010-08-03 17:58:26 +0000 2010-08-03 17:58:26 +0000
142
142

¿Lista los tamaños de las carpetas actuales con la terminal?

Quiero una lista de las carpetas del directorio actual o una que especifique con su tamaño.

He probado con du pero sólo obtengo el tamaño de los directorios que especifique (du . ./f1), y ls no muestra el tamaño de las carpetas.

¿Cómo hago esto sin ningún script?

Respuestas (9)

223
223
223
2010-08-03 18:29:55 +0000

Si quieres mostrar todos los directorios del directorio actual:

$ du -sh */
788K foo/
500K bar/
931K baz/

Para mostrarlos a partir de otro directorio:

$ du -sh /path/to/dir/*/
48K /path/to/dir/dir1/
4.0K /path/to/dir/dir2/
6.7M /path/to/dir/dir3/
20K /path/to/dir/dir4/
8.0K /path/to/dir/dir5/
44K /path/to/dir/dir6/

Si quieres asegurarte de que los directorios con nombres que empiezan por un punto están incluidos haz shopt -s dotglob primero.

19
19
19
2013-03-02 05:23:56 +0000

En un Mac, la opción –max-profundidad es suplantada por -d [profundidad]. Por lo tanto, para ver un listado legible para el ser humano de su unidad raíz más 2 niveles de profundidad utilice lo siguiente:

du -hd 2 /*

Nota: este comando expondrá los dos niveles de directorio superiores de su raíz. Esto incluye atravesar un nivel en sus Volúmenes_, y listará los tamaños de resumen de cada directorio de nivel superior en cada uno de sus volúmenes adjuntos. Dependiendo de lo que haya adjuntado, este comando podría tomar algún tiempo para completarse.

14
14
14
2010-08-03 19:32:55 +0000

Otro enfoque es la opción –max-profundidad.

du -h --max-depth=1 .

Listará todos los directorios y archivos bajo la carpeta actual con el tamaño.

Profundidad 2 listará un nivel más de carpetas.

5
5
5
2010-08-03 18:09:10 +0000

Intenta:

$ du -s ./f1

o

$ du -sh ./f1

para tamaños más fáciles de leer.

4
4
4
2018-03-02 22:17:45 +0000

Basándose en la respuesta aceptada, este comando le mostrará los tamaños de las carpetas del directorio, y también las enumerará por tamaño para que pueda interpretarlas más fácilmente:

$ du -sh */ | sort -rn
2
2
2
2015-06-30 15:39:04 +0000

$ du --max-depth=1 /var/www/ | sort -n -r

2
2
2
2016-06-12 12:26:54 +0000

Vale la pena mencionar el Uso de Disco de NCurses comando shell.

Ncdu es un analizador de uso de disco con una interfaz de ncurses. Está diseñado para encontrar acaparadores de espacio en un servidor remoto donde no se dispone de una configuración gráfica completa, pero es una herramienta útil incluso en sistemas de escritorio normales. Ncdu pretende ser rápido, simple y fácil de usar, y debería ser capaz de funcionar en cualquier entorno mínimo similar a POSIX con ncurses instalado.

1
1
1
2017-03-27 23:47:09 +0000

Aquí hay un guión POSIX que funcionará con:

  • Un archivo
  • Archivos
  • Un directorio
  • Directorios
#!/bin/sh
ls -ARgo "$@" | awk '{q += $3} END {print q}'

Fuente

1
1
1
2017-09-28 15:32:12 +0000

En Mac, puedes instalar la implementación GNU (Linux) de du con Homebrew (brew install coreutils). Entonces, por ejemplo:

gdu folder -shL --exclude=.git

donde

  • gdu es el nombre dado a la implementación GNU de du (por defecto Homebrew no oculta /usr/bin/du);
  • s produce un total general para la carpeta especificada (omite si quieres ver el desglose);
  • h produce tamaños legibles por humanos;
  • L sigue los enlaces simbólicos;
  • --exclude=.git excluye el directorio git dentro de la carpeta especificada (esto es sólo un ejemplo).

Puedes ignorar más carpetas añadiendo --exclude=blah. También puedes especificar varias carpetas a la vez (es decir, gdu folder1 folder2 ...), y en ese caso, puedes combinar todos los subtotales en un solo tamaño usando la opción c.