为什么 ls 和 du 显示的大小不同?

为什么 ls 和 du 显示的大小不同?

我正在用 rtorrent 下载文件,

当我检查文件所在的文件夹时,文件大小为ls命令是4.4GB但是当我使用du命令它向我展示219MB,命令似乎也存在同样的问题df,只计算 219MB。


这是我的控制台结果

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# 

答案1

它是稀疏文件.ls报告分配的大小;du报告实际使用的空间量。

当你的 torrent 客户端下载更多内容时,它将填补空白,并且du报告的大小将增长以匹配ls报告的大小。

要强制dudf包含稀疏,从man du列出的第二个选项开始--apparent-size

du -s -B1 --apparent-size

相关内容