특정 명령 시간을 어떻게 설정합니까?


67

(Linux는 TimeThis.exe와 동일합니다)

다음과 같은 것 :

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

wget foo.com took 3 seconds.

답변:


93

time대신에 시도하십시오 timethis.

쉘 내장 버전의 시간 바이너리 버전 이 종종 있다는 것을 알고 있지만 결과는 다른 형식으로 나타납니다.

$ 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

"timethis"프로그램과 달리 세 가지 값이 반환됩니다. 즉 아래로 생겼습니다 명령 줄에서 "시간"을 사용하는 경우 "시스템 시간"무엇 , 그러나 짧은 : 실제 수단 "벽 시계 시간"동안 사용자SYS는 일반 코드 및 시스템 호출 사이의 CPU 클럭 시간 분할을 보여줍니다.


26

time쉘 내장 대신 실행 파일 을 사용하여 출력 형식과 값을 지정할 수 있습니다. 예를 들어 명령 이름 및 매개 변수와 함께 실제 경과 시간을 얻습니다.

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

당신이 참고 해야한다 경로를 지정 time, 다른 사용자가 쉘 내장을 기본값으로 사용됩니다.


4
경로가 중요합니다. bash에서 '시간'을 사용하지 마십시오. 대신 / usr / bin / time을 사용하십시오
CodeFarmer

1
/usr/bin그들의 경로에 있다면 차이점 은 무엇 입니까?
galois 2012

@galois 차이점은 명시적인 경로가 없으면 쉘의 내장 time유틸리티가 사용된다는 것입니다.
Kusalananda

내장 기능 대신 command time또는 \time을 사용 하여 유틸리티를 실행할 수도 있습니다 .
forcefsck 2016 년

0

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

따라서 경로처럼 보이도록 /와 같은 특수 문자가없는 "시간"은 PATH의 모양에 관계없이 내장을 실행하게됩니다.

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.