web-dev-qa-db-fra.com

Utilisation totale du disque pour un utilisateur particulier

Je voudrais voir l'utilisation totale du disque pour moi-même sur un système de fichiers particulier. J'ai exécuté la commande

du -h ~my_user_name

Cependant, cela répertorie tous les répertoires appartenant à my_user_name. Je voudrais obtenir la somme totale de toutes ces informations. Quelle est l'option appropriée pour passer? j'ai essayé

du -h -c ~my_user_name

mais ça n'a pas marché.

8
Alex

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

du -sh ~
10

D 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 seul cet exemple_user contient des fichiers dans ce dossier. Si d'autres utilisateurs contiennent des fichiers, 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, soit:

  1. Si vous avez activé quota , utilisez ces commandes.
  2. Utilisez find pour parcourir tous les répertoires dans lesquels vous voulez compter vos fichiers. tilisez l'uid pour sélectionner uniquement vos fichiers et conserver un tableau associatif 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}'

Notez que ceci utilise une extension spécifique GNU find.

  • La première commande parcourt tous les fichiers et répertoires de /path/to/search/.
  • -type f s'assure de ne sélectionner 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 sélectionne uniquement les résultats d'un utilisateur
  • -printf "%s\n" imprimera la taille.

Si vous ne faites que lancer la première partie, vous obtiendrez une liste de nombres. Ce sont les tailles de fichiers. (Tout le reste est enlevé, seule la taille est imprimée grâce à la commande% s.)

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

9
Hennes