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é.
Passer -s
à du
limitera la sortie aux éléments spécifiés sur la ligne de commande.
du -sh ~
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:
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.
/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.