Я хочу отобразить время, прошедшее с момента последней загрузки системы uptime
, но не хочу, чтобы оно отображало всю эту информацию. Я просто хочу знать, сколько часов прошло с момента последней загрузки системы (т.е. 18:17:59)
Я хочу отобразить время, прошедшее с момента последней загрузки системы uptime
, но не хочу, чтобы оно отображало всю эту информацию. Я просто хочу знать, сколько часов прошло с момента последней загрузки системы (т.е. 18:17:59)
Ответы:
Чтобы получить время, прошедшее с последней загрузки системы в hh:mm:ss
формате, вы можете использовать:
awk '{print int($1/3600)":"int(($1%3600)/60)":"int($1%60)}' /proc/uptime
/proc/uptime
псевдо-файл содержит два числа:
Таким образом, awk
вы можете взять первый номер и конвертировать его в hh:mm:ss
формат.
Чтобы получить время работы в секундах:
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
Попробуй это:
uptime | awk '{ print $3 }'
Фактически, он печатает третье слово строки, созданной uptime
.
uptime
кажется, нет вариантов, но я не мог найти что-либо в сети.
Тривиальная модификация для показа дней:
awk '{print int($1/86400)"days "int($1%86400/3600)":"int(($1%3600)/60)":"int($1%60)}' /proc/uptime