Respostas:
Adicione timeantes do comando que você deseja medir. Por exemplo: time ls.
A saída será semelhante a:
real 0m0.606s
user 0m0.000s
sys 0m0.002s
Explicação sobre real, usere sys(de man time):
real: Tempo real decorrido (relógio de parede) usado pelo processo, em segundos.user: Número total de segundos de CPU que o processo usou diretamente (no modo de usuário), em segundos.sys: Número total de segundos de CPU usados pelo sistema em nome do processo (no modo kernel), em segundos.sudo apt-get install timese estiver usando um shell em que timenão esteja embutido.
time, mas man timeseria sobre um executável (como /usr/bin/timeno timepacote), e sua saída pareceria diferente. Também no Bash, você pode help timepedir ajuda com o builtin.
Para uma medição delta linha a linha, tente o gnomon .
É um utilitário de linha de comando, um pouco como o ts de moreutils, para acrescentar informações de registro de data e hora à saída padrão de outro comando. Útil para processos de longa execução, nos quais você deseja um registro histórico do que está demorando tanto.
A canalização de qualquer coisa para o gnomon precederá um carimbo de data / hora para cada linha, indicando quanto tempo essa linha foi a última linha no buffer - ou seja, quanto tempo levou para a próxima linha aparecer. Por padrão, o gnomon exibirá os segundos decorridos entre cada linha, mas isso é configurável.
sudo npm i gnomon -gse tiver npm. Não tenho certeza de quão bem ele é contra as linhas de "progresso" usando '\ r' (permanecendo na mesma linha): nesse caso, eu gostaria que contasse tudo como uma linha longa, não como linhas separadas.
Você pode usar time:
time ls -R
date +"%T" && cp -r ./file /destination/folder/here && date +"%T"
A execução deste comando no terminal fornecerá o tempo total para copiar um arquivo
findcomando - sem o 2>/dev/nullredirecionamento - fornece mensagens copiosas Permission denied . No entanto, adicionar 2>/dev/nulla esse comando interrompe a timeparte desse comando. O seguinte fornece um bom compromisso:, 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"dando (por exemplo) /usr/lib/libname-server-2.a find command took 3 sec como o único resultado.
time sudo find / -path /mnt -prune -o -name "*libname-server-2.a*" -print(ou seja, como sudo) - evitando esses numerosos Permission deniedavisos.
Ocasionalmente, me pego precisando de um cronômetro para contar quanto tempo leva para uma ação como a inicialização do meu aplicativo; nesse caso, muitas das soluções aqui não são úteis.
Para isso, eu gosto de usar 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 dá mais informação
real,useresysos tempos são de que esse comando retornará?