Ecart taille dossier

Ecart taille dossier - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 09-12-2010 à 13:04:52    

Bonjour,
 
Pourquoi les 2 commandes suivantes ne me retournent pas le même résultat si je ramène le résultat de ma première commande en Mo ? :
 
find -type f -exec du -b {} \;|awk '{size+=$1} END{print size}'
 
du -ch ./dossier | grep total
 
Merci

Reply

Marsh Posté le 09-12-2010 à 13:04:52   

Reply

Marsh Posté le 09-12-2010 à 14:24:33    

Pourquoi n'utilises-tu pas plutôt :

Code :
  1. du -sh ./dossier


Ça éviterais le grep total ;)
 
Après pour l'écart je ne sais pas. Peut-être que l'un prends en compte l'espace occupé sur le disque alors que l'ordre se cantonne à la taille exacte du fichier ?

Reply

Marsh Posté le 09-12-2010 à 14:42:05    

find -type f -mtime -365 -exec ... associé à mtime, cela me permet de calculer la taille d'un dossier sur l'année précédente.
 
La deuxième commande calcule la taille du dossier à l'instant présent.  
 
Je cherche à savoir dans quelle proportion mon dossier a grossi.
 
Or les résultats de mes commandes ne sont pas comparables.

Reply

Marsh Posté le 09-12-2010 à 15:16:14    

Si c'est juste pour des comparaisons via script, je serais toi je comparerais en octets directement, quitte à faire une division pour afficher le résultat final.
 

Code :
  1. xxxxxx@xxxxxx:~> du -sb .
  2. 225251515
  3. xxxxxx@xxxxxx:~> find . -type f -exec du -b {} \; | awk '{size+=$1} END{print size}'
  4. 224579771


 
C'est quand même étonnant on a toujours un décalage, alors que la c'est exactement la même commande qui est utilisée et on s'est affranchit des problèmes de conversion en Mo/Go .. Ou alors le du compte quelques octets en plus pour les répertoires ? Et comme avec le "-type f" du find on se limite aux fichiers ...
 
Si un spécialiste passe dans le coin et a la réponse, ça m'intéresse également

Reply

Marsh Posté le 09-12-2010 à 17:49:49    

Merci nukolau.
 
J'ai finalement raisonné en octets (la comparaison s'effectuant à partir de la commande find entre l'année N et N-1)

Reply

Marsh Posté le 22-12-2010 à 14:50:24    

Il y a peut-être d'autres raison, mais ta commande find ne donnes ni les répertoires (4 KB typiquement), ni les liens symboliques (qui ont pour taille la longueur du nom sur lequel ils pointent).

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed