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