Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Contrôler le "poids" des répertoires

8 réponses
Avatar
miterrandir
Bonjour,

J'ai une arborescence complexe de répertoires qui a, au maximum, une dizaine
de niveaux. Elle contient de très nombreux fichiers (centaines de
milliers).

J'aimerais savoir s'il est possible de savoir lesquels sont les plus lourds
(répertoires). Ou alors de calculer le poids total des fichiers contenus
dans chaque répertoire en vue de définir le poids de ces derniers.

J'ai tenté d'utiliser la commande stat, mais je n'arrive pas à la rendre
recursive et je ne comprend pas bien les résultats retournés.
Si quelqu'un a une petite astuce ou un petit script, ce sera bienvenue.

Merci

8 réponses

Avatar
Eric Levenez
Le 15/05/08 12:38, dans <g0h41a$vtq$, « miterrandir »
a écrit :

J'ai une arborescence complexe de répertoires qui a, au maximum, une dizaine
de niveaux. Elle contient de très nombreux fichiers (centaines de
milliers).

J'aimerais savoir s'il est possible de savoir lesquels sont les plus lourds
(répertoires). Ou alors de calculer le poids total des fichiers contenus
dans chaque répertoire en vue de définir le poids de ces derniers.


du -sh rep1 rep2 rep3 ...

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.

Avatar
Thierry B.
--{ miterrandir a plopé ceci: }--

Si quelqu'un a une petite astuce ou un petit script, ce sera bienvenue.


Du quick'n'dirty, mais qui aide bien...

:~/RayTracing$ du | sort -g | tail -7
18100 ./tar.src
24416 ./Jouets/tmp
34084 ./Jouets
35104 ./ExpoVsition/x
179040 ./ExpoVsition/tmp
236336 ./ExpoVsition
303688 .
:~/RayTracing$

Avec du et un peu de shell derrière, on arrive à pas mal de trucs.

--
---> http://la.buvette.org/POV/ex/first/index.html

Avatar
Benoit Izac
Bonjour,

le 15/05/2008 à 12:38, miterrandir a écrit dans le message
<g0h41a$vtq$ :

J'ai une arborescence complexe de répertoires qui a, au maximum, une
dizaine de niveaux. Elle contient de très nombreux fichiers (centaines
de milliers).

J'aimerais savoir s'il est possible de savoir lesquels sont les plus
lourds (répertoires). Ou alors de calculer le poids total des fichiers
contenus dans chaque répertoire en vue de définir le poids de ces
derniers.


find . -type d ! -name . -prune -exec du -sk {} +
| sort -n | tail -n 20

Affiche les 20 répertoires les plus lourd dans le répertoire en cours,
classés du moins lourd au plus lourd ; les tailles sont en ko.

--
Benoit Izac

Avatar
Stephane CHAZELAS
2008-05-15, 13:54(+02), Benoit Izac:
[...]
find . -type d ! -name . -prune -exec du -sk {} +
| sort -n | tail -n 20

Affiche les 20 répertoires les plus lourd dans le répertoire en cours,
classés du moins lourd au plus lourd ; les tailles sont en ko.


Ou:

du -sk -- */ | sort -n | tail -n 20

(ne liste pas les repertoires cachés toutefois).

--
Stéphane

Avatar
Benoit Izac
Bonjour,

le 15/05/2008 à 14:34, Stephane CHAZELAS a écrit dans le message
:

find . -type d ! -name . -prune -exec du -sk {} +
| sort -n | tail -n 20

Affiche les 20 répertoires les plus lourd dans le répertoire en
cours, classés du moins lourd au plus lourd ; les tailles sont en ko.


Ou:

du -sk -- */ | sort -n | tail -n 20

(ne liste pas les repertoires cachés toutefois).


Et on risque de se prendre un « argument list too long » (E2BIG) si le
nombre de répertoires est très grand.

--
Benoit Izac


Avatar
Jacques L'helgoualc'h
Le 15-05-2008, miterrandir a écrit :
Bonjour,


bonjour,

J'ai une arborescence complexe de répertoires qui a, au maximum, une dizaine
de niveaux. Elle contient de très nombreux fichiers (centaines de
milliers).

J'aimerais savoir s'il est possible de savoir lesquels sont les plus lourds
(répertoires). Ou alors de calculer le poids total des fichiers contenus
dans chaque répertoire en vue de définir le poids de ces derniers.


EXAMPLE (extrait de man xdu)
cd /usr/src
du > /tmp/du.out
xdu -n /tmp/du.out

--
Jacques L'helgoualc'h

Avatar
miterrandir
Jacques L'helgoualc'h le jeudi 15 mai 2008 15:31

Le 15-05-2008, miterrandir a écrit :
Bonjour,


bonjour,

J'ai une arborescence complexe de répertoires qui a, au maximum, une
dizaine de niveaux. Elle contient de très nombreux fichiers (centaines de
milliers).

J'aimerais savoir s'il est possible de savoir lesquels sont les plus
lourds (répertoires). Ou alors de calculer le poids total des fichiers
contenus dans chaque répertoire en vue de définir le poids de ces
derniers.


EXAMPLE (extrait de man xdu)
cd /usr/src
du > /tmp/du.out
xdu -n /tmp/du.out



Bonjour,
Je connaissais /du/ mais pas /xdu/ !
Ça m'a bien avancé dans mon travail (même si en haut de l'arborescence, /du/
a mis plus de deux heures à tout calculer...).

Merci.


Avatar
miterrandir
Benoit Izac le jeudi 15 mai 2008 13:54

Bonjour,

le 15/05/2008 à 12:38, miterrandir a écrit dans le message
<g0h41a$vtq$ :

J'ai une arborescence complexe de répertoires qui a, au maximum, une
dizaine de niveaux. Elle contient de très nombreux fichiers (centaines
de milliers).

J'aimerais savoir s'il est possible de savoir lesquels sont les plus
lourds (répertoires). Ou alors de calculer le poids total des fichiers
contenus dans chaque répertoire en vue de définir le poids de ces
derniers.


find . -type d ! -name . -prune -exec du -sk {} +
| sort -n | tail -n 20

Affiche les 20 répertoires les plus lourd dans le répertoire en cours,
classés du moins lourd au plus lourd ; les tailles sont en ko.



Merci pour la commande. Ça m'est utile dans le sens où j'ai justement besoin
de connaître les 100~ plus lourds.
Je la laisse tourner et je verrais demain matin pour les résultats.