Como exibir o usuário logado no tempo?

0

Existe um comando no linux para mostrar a quantidade de tempo que um usuário logou? O comando 'who' exibe apenas os usuários conectados. que tal o tempo que um usuário está logado?

    
por subhashini 25.08.2013 / 15:34

2 respostas

0

Se você executar who -H , poderá ver os nomes das colunas:

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)

Como você pode ver, a coluna TIME é exatamente o que você está procurando. Apenas subtraia esse valor do tempo real.

    
por 25.08.2013 / 15:47
0

Você pode analisar a saída de who ou w para obter o tempo que um usuário efetuou login. Se você analisar as datas e compará-las como "agora", poderá saber quanto tempo um usuário fez login Por exemplo, para obter o tempo em minutos:

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
    
por 25.08.2013 / 16:41

Tags