Commande shell pour la taille des dossiers

Résolu/Fermé
lamou23 Messages postés 178 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 21 mars 2011 - 5 août 2010 à 20:31
bob031 Messages postés 8158 Date d'inscription samedi 7 août 2004 Statut Membre Dernière intervention 1 septembre 2014 - 6 août 2010 à 18:03
salut,

j'ai le répertoire /var/www contenant plusieurs dossiers, je veux afficher les différents dossiers avec leur taille, j'ai exécuté ceci:

du -h  
et il m'affiche:

1,6M ./pfe/administration
548K ./pfe/rrdtool/fichierorig
3,3M ./pfe/rrdtool/graphes
9,9M ./pfe/rrdtool/archives
516K ./pfe/rrdtool/images
5,9M ./pfe/rrdtool/performance/graphes
12M ./pfe/rrdtool/performance/archives
19M ./pfe/rrdtool/performance
20K ./pfe/rrdtool/scripts
35M ./pfe/rrdtool
324K ./pfe/script
39M ./pfe
40K ./rrdtool
72K ./js
84K ./bdd
208K ./rrdtool1


1- ce que je veux comme résultat c'est seulement la taille totale des dossiers qui sont dont /var/www, sans rentrer dans leur contenu et afficher la tailles des sous dossier, fichiers et tout.

est il possible de le faire?

2- si jamais je veus afficher par exemple seulement les dossiers qui ont une taille > 20K??
ya t -il une commande qui me le permet??


merci bcp

3 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
5 août 2010 à 21:41
Salut,

Pour le 1 :

du -sh /var/www/*

Pour le 2 il faut voir avec la commande "find" et ses options notamment "-size +20480k", mais ça ne s'applique qu'aux fichiers avec l'option "-type f".

Ou alors faire avec la commande du "1" et des outils comme "awk" à travers un pipe...

0
lamou23 Messages postés 178 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 21 mars 2011
5 août 2010 à 22:11
pour le 1 ça me donne la taille de tous les fichiers existants dans /var/www, alors que je veux avoir la tailles totale des dossiers existant dans /var/www sans détailler la taille des fichiers des différents dossier:

par exemple si j'ai dans /var/www les dossiers suivant:

dossiers1
dossiers2
dossier3

chaque dossiers contient des fichiers et des seous dossiers

je veus avoir comme résultat aprés avoir exécuté du ce qui suit:

10M dossiers1
100M dossiers
....

j'éspère que j'étais plus claire

merci
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
6 août 2010 à 08:48
Essaye avec ça (pour des dossiers > 20K) :

find /var/www -maxdepth 1 -type d -exec du -s {} \; | awk '$1 >= 20 { print $0 }'
0