Есть ли в linux команда для отображения количества времени, когда пользователь вошел в систему? Команда who показывает только подключенных пользователей. как насчет времени, когда пользователь вошел в систему?

2 ответа2

0

Если вы запустите who -H вы увидите имена столбцов:

x-cash@runabout:~$ who -H
NAME     LINE         TIME             COMMENT
x-cash   tty7         2013-08-20 10:23 (:0)
x-cash   pts/0        2013-08-25 15:45 (:0)

Как видите, колонка TIME - это именно то, что вы ищете. Просто вычтите это значение из фактического времени.

0

Вы можете проанализировать вывод who или w чтобы узнать время входа пользователя в систему. Если вы затем проанализируете даты и сравните их с "сейчас", вы сможете узнать, как долго пользователь вошел в систему. Например, чтобы узнать время в минутах:

who | awk '{print $1,$3,$4}' | while read user time; do \
  echo $user $(($(($(date +%s) - $(date -d "$time" +%s)))/60)) minutes; done 

terdon 39 minutes
terdon 31 minutes
terdon 23 minutes
terdon 22 minutes
terdon 20 minutes
terdon 18 minutes
terdon 15 minutes
guest 15 minutes
terdon 13 minutes
terdon 12 minutes

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .