Как отображать время, прошедшее с момента последней загрузки системы с использованием & ldquo; uptime & rdquo ;?

Я хочу показать время, прошедшее с момента последней загрузки системы, с помощью uptime, но я не хочу, чтобы он отображал всю эту информацию. Я просто хочу узнать, сколько часов прошло с момента последней загрузки системы (т. Е.: 18:17:59)

1
задан 13 February 2015 в 01:58

3 ответа

Чтобы ускорить работу в секундах:

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

Чтобы получить время безотказной работы в минутах:

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

Чтобы получить время безотказной работы в часах:

 echo $(awk '{print $1}' /proc/uptime) / 3600 | bc
[d3 ] Чтобы получить x цифр точности, вы можете добавить scale = x, например для x = 2

echo "scale=2; $(awk '{print $1}' /proc/uptime) / 3600" | bc
9
ответ дан 24 May 2018 в 18:49

Попробуйте следующее:

uptime | awk '{ print $3 }'

Фактически, он печатает третье слово строки, созданное uptime.

2
ответ дан 24 May 2018 в 18:49
  • 1
    Оно работает. Но это не кажется правильным способом. Что, если третье слово не является временем, например, мое третье слово «4»? , потому что моя машина работает 4 дня. Это то, что я получаю: «02: 00: 39 до 4 дней, 12:54, 2 пользователя, средняя загрузка: 0,03. 0,06, 0,06 " , – Adrian George 22 August 2013 в 04:03
  • 2
    О: D Я не знал о времени больше, чем 1 день! – AliNâ 22 August 2013 в 04:45
  • 3
    Это нормально: теперь у вас есть ответы на это? – Adrian George 22 August 2013 в 04:47
  • 4
    Нет извините. uptime, похоже, не имеет никаких вариантов, но я ничего не мог найти в сети. – AliNâ 22 August 2013 в 05:04

Тривиальная модификация для отображения дней:

awk '{print int($1/86400)"days "int($1%86400/3600)":"int(($1%3600)/60)":"int($1%60)}' /proc/uptime
1
ответ дан 24 May 2018 в 18:49

Другие вопросы по тегам:

Похожие вопросы: