Что идет быстрее в Linux/Unix?
du -b file.dat
или же:
stat -c %s file.dat
Вы можете использовать команду time
чтобы узнать:
time du -b file.dat
time stat -c %s file.dat
Кажется, в этом примере 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 для получения основной информации из одного файла. Таким образом, более вероятно, что статистика будет оптимизирована для таких работ в будущем.