Eu pulo o lastlog completamente e vejo o comando who
. Isso faz praticamente tudo o que você está perguntando:
$ who
oli tty7 2013-09-20 14:33 (:0)
oli pts/0 2013-09-20 14:33 (:0)
oli pts/2 2013-09-21 22:00 (:0)
oli pts/4 2013-09-25 20:09 (:0)
oli pts/5 2013-09-24 11:02 (:0)
w
é muito bom também, mas o tempo de login é um pouco mais coloquial, por isso não é adequado para scripts:
$ w
20:13:15 up 5 days, 5:39, 5 users, load average: 0.49, 0.53, 0.45
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
oli tty7 :0 Fri14 5days 8:35m 0.03s /bin/sh /usr/bin/startkde
oli pts/0 :0 Fri14 5days 0.00s 3:36 kdeinit4: kded4 [kdeinit]
oli pts/2 :0 Sat22 3days 0.08s 0.08s /bin/bash
oli pts/4 :0 20:09 3.00s 0.08s 0.00s w
oli pts/5 :0 Tue11 5:45m 2:42 2:42 node /usr/bin/grunt watch