Je suis en train de scanner un système de fichiers et je souhaite déterminer la taille allouée d'un fichier sur le disque.Comment puis-je déterminer la taille réelle du fichier sur disque en utilisant Perl?
En utilisant stat() je peux obtenir la taille du fichier en tant que (stat(_))[7]
, les blocs alloués sur le disque peuvent être obtenus à partir (stat(_))[12]
, et la « taille de bloc le plus pratique pour le système de fichiers I/O » est (stat(_))[11]
.
Si je ne fais que multiplier les colonnes 11 et 12, je n'ai pas ce qui semble être l'espace alloué sur le disque (sous Solaris 5.10 sparc).
Comment puis-je obtenir par programme l'espace alloué sur le disque pour un fichier de l'appel de la fonction stat() en Perl?
'du' serait mon choix ici, car il fournit les données que l'OP recherche et il est facile de l'appeler pour un fichier individuel ou pour un répertoire entier de contenu. – Ether