Quiero una lista de las carpetas del directorio actual o una que especifique con su tamaño.
He intentado con du pero solo obtengo el tamaño de los directorios que especifico (du. ./F1), y ls no muestra el tamaño de las carpetas.
¿Cómo hago esto sin ningún script?
command-line
unix
terminal
Kevin
fuente
fuente
Respuestas:
Si desea mostrar todos los directorios en el directorio actual:
Para mostrarlos comenzando desde otro directorio:
Si desea asegurarse de que se incluyen directorios con nombres que comienzan con un punto, hágalo
shopt -s dotglob
primero.fuente
du -s */ | sort -n
.shopt -s dotglob
docEn una Mac, la opción --max-depth se sustituye por -d [profundidad]. Por lo tanto, para ver una lista legible para humanos de su unidad raíz más 2 niveles, use lo siguiente:
Nota: este comando expondrá los dos niveles superiores del directorio fuera de su raíz. Esto incluye atravesar un nivel en sus volúmenes y enumerará 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 puede tardar un tiempo en completarse.
fuente
Otro enfoque es la opción --max-depth.
Enumerará todos los directorios y archivos en la carpeta actual con el tamaño.
La profundidad 2 enumeraría un nivel más de carpetas.
fuente
du -hd 2 .
para 2 niveles de profundidad.Tratar:
o
para tamaños legibles más amigables.
fuente
$ du --max-depth=1 /var/www/ | sort -n -r
fuente
Vale la pena mencionar el comando de shell NCurses Disk Usage .
fuente
Sobre la base de la respuesta aceptada, este comando le mostrará los tamaños de las carpetas en el directorio y también los enumerará por tamaño para que pueda interpretarlos más fácilmente:
fuente
En Mac, puede instalar la implementación de GNU (Linux)
du
con Homebrew (brew install coreutils
). Entonces, por ejemplo:dónde
gdu
es el nombre dado a la implementación de GNUdu
(por defecto, Homebrew no se oculta/usr/bin/du
);s
produce un gran total para la carpeta especificada (omita si desea ver el desglose);h
produce tamaños legibles por humanos;L
sigue enlaces simbólicos;--exclude=.git
excluye el directorio git dentro de la carpeta especificada (esto es solo un ejemplo).Puede ignorar más carpetas agregando
--exclude=blah
. También puede especificar varias carpetas a la vez (es decirgdu folder1 folder2 ...
), y en ese caso, puede combinar todos los subtotales en un solo tamaño utilizando la opciónc
.fuente
Aquí hay un script POSIX que funcionará con:
Fuente
fuente