Oui, "du" ne compte que les données DANS le fichier, alors que "df" compte aussi les meta-données autour du fichier.
Par exemple, dans un système de fichier ext2 par défaut, les unités d'allocation font 1k; je viens de tester en créant un petit système de fichier de 1M (monté en loop) et en créant une centaine de fichiers qui contiennent tous seulement 1 caractère:
# mount
/tmp/block on /tmp/toto type ext2 (rw,loop=/dev/loop0)
# for i in {1..100}; do echo -n "A" > plop$i; done
# du
102 .
du me dit qu'il n'y a 102 octets de *données* (ah, les 2 en trop, je ne sais pas d'où ils viennent...)
et df me dit qu'il y a 102 *blocs* de 1k utilisés (1 par fichier), soit 102K
# df .
Filesystem 1K-blocks Used Available Use% Mounted on
/tmp/block 1003 102 850 11% /tmp/toto
# df -h .
Filesystem Size Used Avail Use% Mounted on
/tmp/block 1003K 102K 850K 11% /tmp/toto
bon, et puis sur de l'ext3, peut-être qu'il faut aussi prendre en compte la taille du journal ?..
[^] # Re: Dans le même genre
Posté par daggett . En réponse au message du / df, qui a raison ?. Évalué à 4.
Par exemple, dans un système de fichier ext2 par défaut, les unités d'allocation font 1k; je viens de tester en créant un petit système de fichier de 1M (monté en loop) et en créant une centaine de fichiers qui contiennent tous seulement 1 caractère:
# mount
/tmp/block on /tmp/toto type ext2 (rw,loop=/dev/loop0)
# for i in {1..100}; do echo -n "A" > plop$i; done
# du
102 .
du me dit qu'il n'y a 102 octets de *données* (ah, les 2 en trop, je ne sais pas d'où ils viennent...)
et df me dit qu'il y a 102 *blocs* de 1k utilisés (1 par fichier), soit 102K
# df .
Filesystem 1K-blocks Used Available Use% Mounted on
/tmp/block 1003 102 850 11% /tmp/toto
# df -h .
Filesystem Size Used Avail Use% Mounted on
/tmp/block 1003K 102K 850K 11% /tmp/toto
bon, et puis sur de l'ext3, peut-être qu'il faut aussi prendre en compte la taille du journal ?..