【发布时间】:2018-12-05 19:18:13
【问题描述】:
我正在尝试计算过去 365 天内创建的文件使用的大小
使用此答案提供的信息 calculate total used disk space by files older than 180 days using find
find . -type f -mtime -1 -printf '%s\n' | awk '{total=total+$1}END{print total/1024}'
它必须工作,但结果与预期不符,结果高于文件夹大小。
所以我只用一个文件夹做了一个简单的测试,没有按日期过滤。
[log]$ du
601407 .
[log]$ find . -type f -printf '%s\n' | awk '{total=total+$1}END{print total/1024}'
720779
DU 的结果大于文件的单个 SUM。 为什么?
我的文件夹在几个子文件夹中包含数千个
【问题讨论】:
-
%s以字节为单位显示文件的大小。du以块为单位计算磁盘空间。如果一个文件只有 1 个字节,它仍然使用一个完整的磁盘块。 -
嗨@Barmar,但 %s 比 du 大...如果 du 以块为单位获取磁盘空间,应该更大......
-
对。
du不计算稀疏文件中跳过的块,请参阅链接问题。