Este breve tutorial explica cómo conocer el tamaño de un directorio en sistemas operativos tipo Unix. ¡Saber el tamaño de los archivos y directorios en modo GUI es fácil! Todo lo que tenemos que hacer es simplemente hacer clic derecho en el archivo o directorio, y elegir la opción de propiedades en el menú contextual. Sin embargo, es igualmente importante encontrar el tamaño de un directorio desde el modo CLI. Hacer cosas desde la línea de comandos es más fácil y rápido. Voy a mostrarte cómo conocer el tamaño de un directorio en Linux en la línea de comando.
Para conocer el tamaño de un directorio, usaremos el comando ‘du‘. du significa uso de disco.
La sintaxis típica de du command se da a continuación:
du [OPTION]... [FILE] [directory]... du [OPTION]... --files0-from=F
Escribamos el comando ‘du’ en la Terminal y veamos qué muestra.
du
Salida:
Como puedes ver arriba, du muestra el uso del disco de los directorios junto con sus subdirectorios en el directorio actual.
Para mostrar el tamaño de un directorio en particular, por ejemplo, ostechnix, ejecuta:
du ostechnix/
Ejemplo:
36252 ostechnix/Swami Vivekananda (Chicago Speech) 452 ostechnix/MultiCD/plugins 44 ostechnix/MultiCD/.git/hooks 4 ostechnix/MultiCD/.git/branches 1012 ostechnix/MultiCD/.git/objects/pack 4 ostechnix/MultiCD/.git/objects/info 1020 ostechnix/MultiCD/.git/objects 8 ostechnix/MultiCD/.git/logs/refs/heads 8 ostechnix/MultiCD/.git/logs/refs/remotes/origin 12 ostechnix/MultiCD/.git/logs/refs/remotes 24 ostechnix/MultiCD/.git/logs/refs 32 ostechnix/MultiCD/.git/logs 8 ostechnix/MultiCD/.git/refs/heads 4 ostechnix/MultiCD/.git/refs/tags 8 ostechnix/MultiCD/.git/refs/remotes/origin 12 ostechnix/MultiCD/.git/refs/remotes 28 ostechnix/MultiCD/.git/refs 8 ostechnix/MultiCD/.git/info 1168 ostechnix/MultiCD/.git 140 ostechnix/MultiCD/maps 2706504 ostechnix/MultiCD 2832056 ostechnix/
Como puedes ver en el resultado anterior, el tamaño de los directorios se muestra en bits. También podemos mostrar el tamaño en formato legible para humanos.
Para hacerlo, agrega -h con du como se muestra a continuación.
du -h ostechnix/
Salida:
36M ostechnix/Swami Vivekananda (Chicago Speech) 452K ostechnix/MultiCD/plugins 44K ostechnix/MultiCD/.git/hooks 4.0K ostechnix/MultiCD/.git/branches 1012K ostechnix/MultiCD/.git/objects/pack 4.0K ostechnix/MultiCD/.git/objects/info 1020K ostechnix/MultiCD/.git/objects 8.0K ostechnix/MultiCD/.git/logs/refs/heads 8.0K ostechnix/MultiCD/.git/logs/refs/remotes/origin 12K ostechnix/MultiCD/.git/logs/refs/remotes 24K ostechnix/MultiCD/.git/logs/refs 32K ostechnix/MultiCD/.git/logs 8.0K ostechnix/MultiCD/.git/refs/heads 4.0K ostechnix/MultiCD/.git/refs/tags 8.0K ostechnix/MultiCD/.git/refs/remotes/origin 12K ostechnix/MultiCD/.git/refs/remotes 28K ostechnix/MultiCD/.git/refs 8.0K ostechnix/MultiCD/.git/info 1.2M ostechnix/MultiCD/.git 140K ostechnix/MultiCD/maps 2.6G ostechnix/MultiCD 2.8G ostechnix/
Ahora puedes ver el tamaño de los directorios en Kilobytes, Megabytes y Gigabytes, lo cual es muy claro y fácil de entender.
También podemos mostrar el tamaño de uso del disco solo en KB, MB o GB.
Para hacerlo, usa -k para kilobytes, -m para megabytes
du -k ostechnix/
du -m ostechnix/
Para saber qué subdirectorios consumen cuánto tamaño de disco, usa este comando:
du -h --max-depth=1 | sort -hr
Los subdirectorios más grandes se mostrarán en la parte superior. Puedes aumentar el nivel de profundidad del directorio aumentando el valor del parámetro -max-depth.
Como puedes observar en todas las salidas anteriores, el comando du solo muestra el uso de directorios en el disco. Pero, ¿y los archivos? Para mostrar el uso del disco de todos los elementos, incluidos los archivos y directorios, usa el indicador.
du -ah ostechnix/
Salida:
Ahora verás el uso del disco de todos los archivos y carpetas en forma legible por humanos.
También podemos mostrar el tamaño de múltiples directorios a la vez como se muestra a continuación.
du -h directory1 directory2
Si deseas verificar el espacio total en el disco utilizado por un directorio en particular, usa el indicador -s.
du -sh ostechnix
Aquí, el indicador -s significa resumen.
Salida:
2.8G ostechnix
Del mismo modo, para mostrar el espacio total en el disco utilizado por varios directorios, por ejemplo, ostechnix y /etc, ejecuta:
du -sh ostechnix /home/sk/
Salida:
2.8G ostechnix 279G /home/sk/
Para mostrar el total de directorios, agrega el indicador -c con el comando du -sh.
du -csh ostechnix /home/sk/
Salida:
2.8G ostechnix 279G /home/sk/ 281G total
Para mostrar solo el total general del directorio dado, incluidos todos los subdirectorios, usa el comando ‘grep‘ con el comando ‘du‘ como se muestra a continuación.
$ du -ch Downloads/ | grep total 12G total
Es posible que desees excluir cierto tipo de archivos. El siguiente comando mostrará el tamaño del directorio actual, incluidos sus subdirectorios, pero excluirá el tamaño de todos los archivos .mp4.
$ du -ch --exclude='*.mp4' | grep total 6.4G total
.Para obtener más información sobre el comando ‘du‘, consulta las páginas man.
man du