du 和 stat 哪个更快?

du 和 stat 哪个更快?

Linux/Unix 上哪个运行速度更快?

du -b file.dat

或者:

stat -c %s file.dat

答案1

在这个例子中,du 似乎稍微快一些。

$ time bash -c 'for ((i=1; i<1000;i++)); do stat -c %s file1 >/dev/null; done'
real    0m3.588s
user    0m0.120s
sys 0m0.344s

$ time bash -c 'for ((i=1; i<1000;i++)); do du -b file1 >/dev/null; done'
real    0m3.161s
user    0m0.092s
sys 0m0.360s

但就我个人而言,我更喜欢使用 stat,因为大多数人使用 stat 来检索单个文件的基本信息。因此,stat 将来很可能会针对此类工作进行优化。

答案2

您可以使用以下time命令来查找:

time du -b file.dat
time stat -c %s file.dat

相关内容