miércoles, 30 de diciembre de 2009

Conocer el tamaño de un directorio en Linux

Parece una tontería, pero me ha hecho falta en varias ocasiones y siempre me toca buscar en google... Esta vez será la última para mi :D
du -sh * .[a-zA-Z0-9]* | sort -n

2 comentarios:

Dr. No dijo...

utilizando el mismo comando se puede obtener el tamaño, creo recordar que es aglo asi como:
du -sh `ls -1`

con el tuyo solo salen los directoriso ocultos, lo que llevna el . delante del nombre

Anónimo dijo...

Gracias

Si p.e. queremos asegurarnos de que se hayan copiado bien unos ficheros contenidos en varios niveles de subdirectorios nos puede servir saber el total de bytes de todos ellos. ¿Cómo podemos saberlo en un terminal o consola?

du es, como indica la primera línea de su man, una estimación del uso de espacio (no una medición exacta). Se suele usar:
[code]du -hs[/code]
Pero si aplicamos el comando en el nivel superior del original y lo copiado podemos notar alguna diferencia. Entonces, si ejecutamos ...
[code]du -hbs[/code]
... seguramente la diferencia sea menor pero todavía existente.

Aquí está la reválida, también rapidísima en devolver el resultado pese a la longitud del comando:
[code]ls -lR | grep -v '^d' | awk '{total += $5} END {print "Total:", total}'[/code]
Si se han copiado bien los ficheros debería salir exactamente lo mismo en los 2 lados.