Du solo le mostrará los totales por carpeta, no por usuario.
Eso podría funcionar si desea el tamaño total de, digamos, /home/example_user/
y si solo ese example_user tiene archivos en esa carpeta. Si otros usuarios tienen archivos en ellos, esto no producirá el tamaño de todos los archivos que posee, sino el tamaño total de todos los archivos en esa carpeta.
Para obtener la información por usuario, ya sea:
- Si tiene habilitada la cuota , use esos comandos.
- Use find para recorrer todos los directorios en los que desea contar sus archivos. Use el uid para seleccionar solo sus archivos y mantener una matriz asociativa en awk para contar los totales.
find /path/to/search/ -user username_whos_files_to_count -type f -printf "%s\n" | awk '{t+=$1}END{print t}'
Tenga en cuenta que esto utiliza una extensión específica de búsqueda de GNU.
- El primer comando busca más allá de todos los archivos y directorios en
/path/to/search/
.
-type f
se asegura de que solo selecciona archivos, de lo contrario también cuenta el tamaño de los directorios. (Intente crear una carpeta vacía. Probablemente usará 4k de espacio en disco).
-user username_whos_files_to_count
solo selecciona los resultados de un usuario
-printf "%s\n"
imprimirá el tamaño.
Si solo ejecuta la primera parte de esto, obtendrá una lista de números. Esos son los tamaños de archivo. (Todo lo demás se elimina, solo se imprime el tamaño gracias al comando de impresión% s).
Luego podemos agregar todos esos números para obtener un resumen. En el ejemplo, esto se hace con awk.