특정 명령의 시간을 측정하는 방법은 무엇입니까?

특정 명령의 시간을 측정하는 방법은 무엇입니까?

(TimeThis.exe와 동등한 Linux)

그것은 다음과 같습니다:

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

wget foo.com took 3 seconds.

답변1

time대신에 그렇게 해보세요 timethis.

일반적으로 당시에는 쉘 내장 버전이 있다는 점에 유의하세요.그리고다른 형식으로 결과를 제공하는 바이너리 버전:

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

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

그리고

$ \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

"timethis" 프로시저와 달리 세 가지 값을 반환합니다. 이는 다음과 같이 분류됩니다.명령줄에서 "시간"을 사용할 때 "시스템 시간"이란 무엇입니까?, 그러나 간단히 말해서:진짜"벽시계 시간"을 의미하고,사용자그리고체계일반 코드와 시스템 호출로 구분된 CPU 시계 시간을 표시합니다.

답변2

time내장 셸 대신 실행 파일을 사용하면 출력 형식과 값을 지정할 수 있습니다. 예를 들어 명령 이름 및 인수와 함께 실제 경과 시간을 가져옵니다.

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

참고하시기 바랍니다~ 해야 하다그렇지 time않으면 기본 제공 쉘이 기본으로 사용됩니다. 내장된 유틸리티 대신 command time또는 를 사용하여 유틸리티를 실행할 수도 있습니다 .\time

답변3

@galois: 다양한 쉘에는 경로의 모든 것보다 우선하는 "내장" 명령이 있습니다. 이는 일반적으로 유리합니다. 내장 함수는 더 빠르게 실행되는 경향이 있으며(외부 파일이 호출되지 않기 때문에) 일반적으로 원하는 결과를 제공합니다(즉, 시간 명령의 경우 일반적으로 어떤 버전을 사용하는지 신경 쓰지 않습니다. "--format" 플래그를 사용하려는 경우).

따라서 특수 문자(예: /)가 없는 "시간"은 PATH의 모양에 관계없이 결국 내장 기능을 실행하는 경로처럼 보이게 합니다.

쉘이 외부 시간 명령을 사용하도록 강제하려면 경로를 제공해야 합니다.

관련 정보