"업타임"을 사용하여 마지막 시스템 부팅 이후 경과 된 시간을 표시하는 방법은 무엇입니까?


17

을 사용하여 마지막 시스템 부팅 이후 경과 한 시간을 표시하고 uptime싶지만 모든 정보를 표시하고 싶지는 않습니다. 마지막 시스템 부팅 이후 몇 시간이 지 났는지 알고 싶습니다 (예 : 18:17:59).

답변:


31

마지막 시스템 부팅 이후 시간이 경과하도록하려면 hh:mm:ss다음을 사용하십시오.

awk '{print int($1/3600)":"int(($1%3600)/60)":"int($1%60)}' /proc/uptime

/proc/uptime 의사 파일에는 두 개의 숫자가 포함됩니다.

  • 첫 번째 숫자는 시스템이 몇 초 동안 가동되었는지입니다.
  • 두 번째 숫자는 기계가 몇 초 동안 유휴 상태를 유지했는지입니다.

따라서 awk전나무 번호를 사용하여 hh:mm:ss형식으로 변환 할 수 있습니다 .


15

가동 시간 (초)을 얻으려면 :

awk '{print $1}' /proc/uptime

몇 분 안에 가동 시간을 얻으려면 :

 echo $(awk '{print $1}' /proc/uptime) / 60 | bc

몇 시간 안에 가동 시간을 얻으려면 :

 echo $(awk '{print $1}' /proc/uptime) / 3600 | bc

x 정밀도의 자릿수를 얻으려면 scale = x를 추가하면됩니다 (예 : x = 2).

echo "scale=2; $(awk '{print $1}' /proc/uptime) / 3600" | bc

2

이걸로 해봐:

uptime | awk '{ print $3 }'

실제로,는에서 생성 한 줄의 세 번째 단어를 인쇄합니다 uptime.


3
효과가있다. 그러나 올바른 방법은 아닙니다. 내 컴퓨터가 4 일 동안 실행되기 때문에 세 번째 단어가 시간이 아닌 경우, 예를 들어, 세 번째 단어가 "4"입니다. 이것이 내가 얻는 것입니다 : "02:00:39 up 4 days, 12:54, 2 users,로드 평균 : 0.03. 0.06, 0.06".
Adrian George

오 : DI는 하루 이상 시간을 몰랐다!
Alen

괜찮아 : d 이제 당신은 이것에 대한 답변이 있습니까?
Adrian George

아니요, 죄송합니다. uptime옵션이없는 것 같지만 그물에서 아무것도 찾을 수 없었습니다.
Alen

2

일을 보여주는 사소한 수정 :

awk '{print int($1/86400)"days "int($1%86400/3600)":"int(($1%3600)/60)":"int($1%60)}' /proc/uptime

0

그러면 출력이 2 개의 0으로 채워집니다.

awk '{printf("%02d:%02d:%02d",int($1/3600),int($1/3600/60),int($1%60))}' /proc/uptime
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.