Pourquoi ls et du montrent des tailles différentes?

22

Je télécharge un fichier avec rtorrent,

Lorsque je vérifie le dossier dans lequel se trouve le fichier, la taille du fichier avec la lscommande est de 4,4 Go, mais lorsque je vérifie le disque avec la ducommande, il me montre 219 Mo , également le même problème avec la dfcommande qui semble simplement calculer celle de 219 Mo.


Voici le résultat de ma console

root@SERVER:/home/.root/TMP/tnt/d1/xxx# dir -alh

total 219M
drwxr-xr-x  2 root root 4.0K 2010-01-10 15:30 .
drwxr-xr-x 15 root root 4.0K 2010-01-10 15:30 ..
-rw-r--r--  1 root root 4.4G 2010-01-11 10:55 yyy.mkv

root@SERVER:/home/.root/TMP/tnt/d1/xxx# du -h

219M    .

root@SERVER:/home/.root/TMP/tnt/d1/xxx# 
user24263
la source
J'ai rencontré ce même problème aujourd'hui après avoir développé une image disque à l'aide de qemu-img resize.
Pete

Réponses:

37

C'est un fichier clairsemé . lsrapporte la taille allouée; duindique la quantité d'espace réellement utilisée.

Au fur et à mesure que votre client torrent télécharge de plus en plus, il comblera les lacunes et la dutaille signalée augmentera pour correspondre aux lsrapports.

Pour forcer duet dfpour inclure des pièces, à partir de man dula deuxième option répertoriée est --apparent-size:

du -s -B1 --apparent-size
James Polley
la source