Monday 4 September 2017

linux - Why ls and du show different size?


I am downloading a file with rtorrent,


When I check the folder that the file is located on, the filesize with ls command is 4.4GB but when I check the disk with du command it shows me 219MB, also the same problem with df command that seems just calculate the 219MB one.




Here is the my console result


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#

Answer



It's a sparse file. ls is reporting the allocated size; du is reporting the amount of space actually used.


As your torrent client downloads more it will fill in the gaps and the du-reported size will grow to match what ls reports.


To force du and df to include sparces, from the man du the second option listed is --apparent-size:


du -s -B1 --apparent-size

No comments:

Post a Comment

Where does Skype save my contact's avatars in Linux?

I'm using Skype on Linux. Where can I find images cached by skype of my contact's avatars? Answer I wanted to get those Skype avat...