GNU/Linux >> Tutoriales Linux >  >> Linux

Uso total del disco para un usuario en particular

Pasando -s a du restringirá la salida a solo los elementos especificados en la línea de comando.

du -sh ~

Du solo te 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 ejemplo_usuario tiene archivos en esa carpeta. Si otros usuarios tienen archivos en ellos, esto no arrojará el tamaño de todos los archivos de su propiedad, sino el tamaño total de todos los archivos en esa carpeta.

Para obtener la información por usuario, ya sea:

  1. Si tiene habilitadas las cuotas, use esos comandos.
  2. Use find para recorrer todos los directorios en los que desea contar sus archivos. Use uid para seleccionar solo sus archivos y mantenga 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}'

  • El primer comando busca más allá de todos los archivos y directorios en /path/to/search/ .
  • -type f se asegura de seleccionar solo archivos, de lo contrario, también está contando el tamaño de los directorios. (Intente hacer 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 sumar todos esos números para obtener un resumen. En el ejemplo, esto se hace con awk.


Para encontrar todo el uso de un usuario específico, un buen comando es:

find -user $USER -type f -exec du -chs {} +

Puede modificar aún más según las necesidades específicas, por ejemplo, a menudo quiero resumir el uso por carpeta, y lo siguiente funciona bien:

find . -maxdepth 1 -user $USER -type d ! -path . -exec du -chs {} +

Esto encuentra solo directorios en un nivel, limita por usuario, excluye el directorio principal e imprime cada directorio y un resumen al final.


Linux
  1. ¿Cómo cambiar de usuario para un montón de archivos de servicio de Systemd?

  2. Obtener el uso del disco para cada usuario

  3. Bloquear comando particular en Linux para usuario específico

  4. Software de mapa de árbol de uso de disco para Linux sin cabeza

  5. Obtenga el tamaño total de los archivos de un archivo que contiene una lista de archivos

Gdu:un analizador de uso de disco rápido para Linux

Cómo verificar el uso de espacio en disco para imágenes, contenedores y volúmenes de Docker

Cómo verificar el tamaño de los archivos y directorios en Linux

Cómo verificar el tamaño total del disco duro en la terminal de Ubuntu

Acceso denegado para un usuario en particular por la configuración de la cuenta PAM

¿Cómo funcionan los permisos de archivo para el usuario root?