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