Como posso ver quantas pessoas estão conectadas a uma máquina Linux? Sei que o comando 'users' mostra todas as pessoas conectadas, mas preciso de um número. Existe uma opção para usuários que estou ausente na página de manual? Pensei em usar o grep -c
comando, mas deve haver algo igual em cada nome de usuário para que isso funcione. Existe uma maneira mais fácil?
10
Classicamente, o comando é 'quem' em vez de 'usuários', mas 'quem' fornece mais informações. Olhando para os artigos originais do Unix (meados dos anos 70), o exemplo teria sido:
O uso de 'wc -l' conta as linhas de saída - ele funciona com
'users' e'who'. O uso de '-w' só funciona de maneira confiável quando há uma palavra por usuário (como em 'users', mas não em 'who').Você pode usar 'grep -c' para contar as linhas. Como você está interessado apenas em nomes de usuário não em branco, você pode:
Sempre há pelo menos um caractere em cada linha.
Conforme observado nos comentários de John T , o
users
comando difere dewho
vários aspectos. O mais importante é que, em vez de dar um nome por linha, ele espalha os nomes vários por linha - não tenho uma máquina com usuários diferentes o suficiente conectados para testar o que acontece quando o número de usuários se torna grande. A outra diferença é que 'quem' relata as conexões do terminal em uso. Com várias janelas de terminal abertas, ele mostrará várias linhas para um único usuário, enquanto 'users' parece listar um usuário conectado apenas uma vez.Como conseqüência dessa diferença, a
grep -c .
formulação ' ' não funcionará com o comando 'users'; 'wc -w
' é necessário.fonte
Abra um shell e digite:
A última linha lhe dará uma contagem.
EDITAR:
(suspiro) Eu entendi mal a pergunta. Aqui está uma abordagem de força bruta:
Para ver nomes de usuário exclusivos:
Para ver uma contagem de usuários únicos:
fonte
Deseja ver o número de sessões ou o número de usuários reais ?
Está no meu laptop, então sou o único usuário, mas estou logado três vezes.
É bastante fácil filtrar essas duplicatas para obter o número de usuários reais.
fonte
Aqui está uma versão básica do ótimo post awk de tink :
Ok, é um pouco mais longo, mas valeu a pena encontrar este ... :).
Durante o teste, faça antes da próxima tentativa:
fonte
número de usuários atualmente conectados:
o buta acima com o nome da conta:
fonte
Quem imprime a lista, recortar, remove tudo, exceto a primeira linha, ordena -u ordena e remove duplicatas e wc -l conta as linhas. Funciona bem para mim no ubuntu / bash :)
fonte
Você pode simplesmente usar
w
(/usr/bin/w
no meu sistema baseado no Red Hat) ouuptime
eles mostram o número real de usuários logados.W:
tempo de atividade:
fonte
E um método que usa apenas um tubo ...
:}
fonte
http://www.gnu.org/software/coreutils/manual/html_node/who-invocation.html
"who" imprime informações sobre usuários que estão conectados no momento. Sinopse:
quem [opção] [arquivo] [sou eu]
fonte
Você sempre pode baixar a ferramenta gratuita para o unix chamada TOP. Ele produz uma lista dos usuários e também o que eles estão fazendo no sistema no momento e continuará sendo atualizado enquanto estiver em execução.
Está localizado em http://www.unixtop.org/
Possui muitas opções de linha de comando, portanto, você poderá extrair as informações que está procurando.
fonte
fonte
Se você estiver procurando o número total de usuários conectados e desconectados em uma sequência adequada, o melhor comando a ser executado é
fonte
cat -n
apenas imprime todas as linhas do arquivo, numerando cada uma. Você obterá uma lista de usuários que existem nesse sistema, mas não receberá muitas informações de login.