Другие находят альтернативу:
find -maxdepth 1 -type f -printf "%i %p\n"
Или еще один:
find -maxdepth 1 -type f -ls
Чтобы узнать, я создал два файла оболочки. Каждый запускается с линией Shebang и заканчивается с помощью Sole Command Дата
. Long.sh
имеет 10 000 строк комментариев, пока Cort.sh
имеет ничего. Вот результаты:
$ time short.sh
Wed Nov 12 18:06:02 PST 2014
real 0m0.007s
user 0m0.000s
sys 0m0.004s
$ time long.sh
Wed Nov 12 18:06:05 PST 2014
real 0m0.013s
user 0m0.004s
sys 0m0.004s
разница ненульна, но недостаточно для вас, чтобы заметить.
Давайте получим больше экстремальных. Я создал Very_long.sh
с 1 млн. Строки комментариев:
$ time very_long.sh
Wed Nov 12 18:14:45 PST 2014
real 0m1.019s
user 0m0.928s
sys 0m0.088s
Это имеет заметную задержку.
10 000 линий комментариев имеет небольшой эффект. Строки в миллион комментариев вызывают значительную задержку.
Long.Sh
и Very_long.sh
для создания скрипта Long.SH
, я использовал следующее awk
Команда:
echo "date" | awk 'BEGIN{print "#!/bin/bash"} {for (i=1;i<=10000;i++) print "#",i} 1' >long.sh
Для создания SORE_LONG.SH
, мне нужно слегка изменять вышеуказанный код:
echo "date" | awk 'BEGIN{print "#!/bin/bash"} {for (i=1;i<=1000000;i++) print "#",i} 1' >very_long.sh
Да, теоретически, Поскольку оболочка должна была бы прочитать все эти пустые строки и убедиться, что они пустые. Но эффект будет настолько маленьким, что у вас будут проблемы с измерением - особенно если вы попробовали это неоднократно (без перезагрузки), потому что, Как только вы запустите скрипт, он будет кэширован в памяти, и у вас даже нет ввода-вывода.