Відповіді:
Додати timeперед командою, яку потрібно виміряти. Наприклад: time ls.
Вихід буде виглядати так:
real 0m0.606s
user 0m0.000s
sys 0m0.002s
Пояснення на real, userі sys(з man time):
real: Минулий реальний (настінний годинник) час, використаний процесом, у секундах.user: Загальна кількість процесорних секунд, які безпосередньо використовував процес (в режимі користувача), за секунди.sys: Загальна кількість процесорних секунд, що використовуються системою від імені процесу (в режимі ядра), в секундах.sudo apt-get install timeякщо ви використовуєте оболонку, де timeне вбудований.
timeвбудованого Bash , але man timeвін буде приблизно виконуваним файлом (наприклад /usr/bin/time, з timeпакета), і його вихід буде виглядати інакше. Також у Bash можна побігти help timeза допомогою вбудованого.
Для лінійного вимірювання дельти спробуйте гномон .
Це утиліта командного рядка, схожа на ts moreutils, для подання інформації про часові позначки до стандартного виводу іншої команди. Корисно для тривалих процесів, де ви хочете отримати історичний запис того, що триває так довго.
Передача нічого до gnomon додасть часову позначку до кожного рядка, вказуючи, наскільки довгий цей рядок був останнім рядком у буфері - тобто, скільки часу знадобилося, щоб з'явився наступний рядок. За замовчуванням gnomon відображатиме секунди, що минули між кожним рядком, але це можна настроювати.
sudo npm i gnomon -gякщо у вас є npm. Не впевнений, наскільки добре це поступає з "прогресуючими" рядками, використовуючи "\ r" (залишаючись на тій же лінії): у такому випадку я хотів би, щоб це рахувало все як один довгий рядок, а не окремий.
Ви можете використовувати time:
time ls -R
date +"%T" && cp -r ./file /destination/folder/here && date +"%T"
Запуск цієї команди в терміналі дасть вам загальний час на копіювання файлу
findкоманда - без 2>/dev/nullпереспрямування - дає великі Permission denied повідомлення. Однак додавання 2>/dev/nullдо цієї команди розбиває timeчастину цієї команди. Наступне забезпечує хороший компроміс: START="$(date +"%s")" && find 2>/dev/null / -path /mnt -prune -o -name "*libname-server-2.a*" -print; END="$(date +"%s")"; TIME="$((END - START))"; printf 'find command took %s sec\n' "$TIME"надання (наприклад) /usr/lib/libname-server-2.a find command took 3 sec як єдиного результату.
time sudo find / -path /mnt -prune -o -name "*libname-server-2.a*" -print(тобто як sudo), уникаючи цих численних Permission deniedпопереджень.
Інколи мені здається, що мені потрібен секундомір, щоб підрахувати, скільки часу потрібно для таких дій, як завантаження мого додатка, і в цьому випадку багато з цих рішень не є корисними.
Для цього я люблю використовувати sw .

wget -q -O - http://git.io/sinister | sh -s -- -u https://raw.githubusercontent.com/coryfklein/sw/master/sw
sw
- start a stopwatch from 0, save start time in ~/.sw
sw [-r|--resume]
- start a stopwatch from the last saved start time (or current time if no last saved start time exists)
- "-r" stands for --resume
time -v command
-v дає більше інформації
real, що повертається ця командаuser, іsysчас?