GNU/Linux >> Tutoriels Linux >  >> Linux

Utilisation totale du disque pour un utilisateur particulier

Passer -s à du limitera la sortie aux seuls éléments spécifiés sur la ligne de commande.

du -sh ~

Du ne vous montrera que les totaux par dossier, pas par utilisateur.

Cela pourrait fonctionner si vous voulez la taille totale de, disons, /home/example_user/ et si seulement cet example_user a des fichiers dans ce dossier. Si d'autres utilisateurs ont des fichiers en eux, cela ne donnera pas la taille de tous les fichiers que vous possédez, mais la taille totale de tous les fichiers de ce dossier.

Pour obtenir les informations par utilisateur, vous pouvez :

  1. Si vous avez activé les quotas, utilisez ces commandes.
  2. Utilisez find pour parcourir tous les répertoires dans lesquels vous souhaitez compter vos fichiers. Utilisez uid pour sélectionner uniquement vos fichiers et conservez un tableau associatif dans awk pour compter les totaux.

find /path/to/search/ -user username_whos_files_to_count -type f -printf "%s\n" | awk '{t+=$1}END{print t}'

  • La première commande recherche tous les fichiers et répertoires dans /path/to/search/ .
  • -type f s'assure que vous ne sélectionnez que des fichiers, sinon vous comptez également la taille des répertoires. (Essayez de créer un dossier vide. Il utilisera probablement 4k d'espace disque).
  • -user username_whos_files_to_count ne sélectionne que les résultats d'un seul utilisateur
  • -printf "%s\n" imprimera la taille.

Si vous exécutez simplement la première partie de ceci, vous obtiendrez une liste de nombres. Ce sont les tailles de fichiers. (Tout le reste est supprimé, seule la taille est imprimée grâce à la commande d'impression %s.)

Nous pouvons ensuite additionner tous ces chiffres pour obtenir un résumé. Dans l'exemple, cela se fait avec awk.


Pour trouver toutes les utilisations par un utilisateur spécifique, une bonne commande est :

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

Vous pouvez encore modifier en fonction des besoins spécifiques, par exemple je veux souvent résumer l'utilisation par dossier, et ce qui suit fonctionne bien :

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

Cela ne trouve que les répertoires d'un seul niveau, limite par utilisateur, exclut le répertoire parent et imprime chaque répertoire et un résumé à la fin.


Linux
  1. Comment rechercher des fichiers par taille et extension ?

  2. Comment changer d'utilisateur pour un groupe de fichiers de service Systemd ?

  3. Recherche de fichiers NON détenus par un utilisateur spécifique

  4. Vérifier l'utilisation du disque des fichiers renvoyés avec des espaces

  5. Logiciel d'arborescence d'utilisation du disque pour Linux sans tête

Gdu - Un analyseur d'utilisation de disque rapide pour Linux

Comment vérifier l'utilisation de l'espace disque pour les images Docker, les conteneurs et les volumes

Comment vérifier la taille des fichiers et du répertoire sous Linux

Comment vérifier la taille totale du disque dur dans le terminal Ubuntu

Accès refusé pour un utilisateur particulier par la configuration du compte PAM

Comment fonctionnent les autorisations de fichiers pour l'utilisateur root ?