Dlaczego ls i du pokazują inny rozmiar?

22

Pobieram plik z rtorrent,

Kiedy sprawdzam folder, w którym znajduje się plik, rozmiar pliku z lspoleceniem wynosi 4,4 GB, ale kiedy sprawdzam dysk za pomocą dupolecenia, pokazuje mi 219 MB , również ten sam problem z dfpoleceniem, który wydaje się po prostu obliczyć 219 MB.


Oto wynik mojej konsoli

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# 
użytkownik24263
źródło
Natknąłem się na ten sam problem dzisiaj po powiększeniu obrazu dysku za pomocą qemu-img resize.
Pete

Odpowiedzi:

37

To rzadki plik . lszgłasza przydzielony rozmiar; duzgłasza ilość faktycznie wykorzystanego miejsca.

Gdy twój klient torrentów pobierze więcej, będzie uzupełniał luki, a duzgłaszany rozmiar zwiększy się, aby dopasować się do lsraportów.

Aby wymusić dui dfuwzględnić sparces, z man dudrugiej z wymienionych opcji jest --apparent-size:

du -s -B1 --apparent-size
James Polley
źródło