ls -al
vous donnera l'espace occupé par le répertoire lui-même, pas les fichiers qu'il contient.
En tant que tel, il a une taille minimum. Quand un répertoire est créé, il lui est donné beaucoup d'espace pour stocker les informations de fichier qui sont un nombre défini d'octets par fichier (disons que 64 octets pensent que le nombre pourrait être différent).
Si la taille initiale était 4K, cela permettrait jusqu'à 64 fichiers. Une fois que vous avez mis plus de 64 fichiers dans le répertoire, il devrait être développé.
Quant à votre commentaire:
La raison pour laquelle il ne peut pas obtenir plus petit lorsque vous supprimez tous les fichiers qu'il est parce qu'il n'y a généralement pas de réel avantage. Il est juste laissé à la même taille, de sorte qu'il ne doit pas être à nouveau développé la prochaine fois que vous y mettez un paquet de fichiers (il a tendance à supposer que le comportement passé est un indicateur du comportement futur).
Si vous voulez réduire l'espace occupé, il y a une vieille astuce pour cela. Pour réduire la taille de /tmp/qq
, créez un nouveau /tmp/qq2
, copiez tous les fichiers (après avoir supprimé ceux dont vous n'avez pas besoin), puis renommez simplement /tmp/qq
en /tmp/qq3
et /tmp/qq2
en /tmp/qq
. Voila! Oh oui, éventuellement supprimer /tmp/qq2
.
Voir http://stackoverflow.com/questions/1012488/when-running-ls-l-why-does-the-filesize-on-a-directory-not-match-the-output-of – kennytm
Vous pourriez veux poser cette question ici à la place: http://superuser.com/ A bientôt =) – Andree