Como dedico um comando específico?

58

(O equivalente linux do TimeThis.exe)

Algo como:

timethis wget foo.com
Receiving foo.com  
...

wget foo.com took 3 seconds.
    
por ripper234 06.04.2011 / 15:15

3 respostas

82

Experimente apenas time em vez de timethis .

Embora esteja ciente de que muitas vezes há uma versão de tempo do shell e uma versão binária, que dará resultados em diferentes formatos:

$ time wget -q -O /dev/null https://unix.stackexchange.com/

real    0m0.178s
user    0m0.003s
sys     0m0.005s

vs

$ \time wget -q -O /dev/null https://unix.stackexchange.com/
0.00user 0.00system 0:00.17elapsed 4%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+613minor)pagefaults 0swaps

Ao contrário do seu programa "timethis", você obtém três valores de volta. Isso é dividido em O que é "horário do sistema" ao usar "tempo" na linha de comando , mas resumindo: real significa "tempo de relógio", enquanto usuário e sys mostra o tempo de clock da CPU, dividido entre o código regular e as chamadas do sistema.

    
por 06.04.2011 / 15:21
24

Usando o executável time em vez do shell embutido, você pode especificar o formato e os valores de saída. Por exemplo. obtenha o tempo real decorrido junto com o nome do comando e os parâmetros

/usr/bin/time --format='%C took %e seconds' sleep 3
sleep 3 took 3.00 seconds

Note que você deve especificar o caminho para time , senão você usará como padrão o shell embutido.

    
por 06.04.2011 / 15:30
0

@alois: Os vários shells têm um punhado de comandos "embutidos" que têm precedência sobre qualquer coisa no caminho. Normalmente isso é vantajoso; os built-ins tendem a correr mais rápido (porque não chamam um arquivo externo) e normalmente fornecem o resultado desejado (ou seja, no caso do comando time você normalmente não se importa com qual versão está usando, a menos que queira usar o " --format "flag).

Então, "tempo" sem nenhum caractere especial (como /) para fazer com que pareça que um caminho terminará executando o built-in, independentemente do aspecto do seu PATH.

Para forçar o shell a usar o comando de tempo externo, você deve fornecer o caminho

    
por 30.05.2018 / 15:40