GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo puedo encontrar el número de usuarios en línea en Linux?

Clásicamente, el comando es 'quién' en lugar de 'usuarios', pero 'quién' le brinda más información. Mirando hacia atrás en los artículos originales de Unix (mediados de los 70), el ejemplo habría sido:

who | wc -l

El uso de 'wc -l' cuenta líneas de salida; funciona con tanto 'usuarios' como 'quién'. El uso de '-w' solo funciona de manera confiable cuando hay una palabra por usuario (como con 'usuarios' pero no con 'quién').

Podrías usar 'grep -c' para contar las líneas. Dado que solo le interesan los nombres de usuario que no están en blanco, podría hacer lo siguiente:

who | grep -c .

Siempre hay al menos un carácter en cada línea.

Como se señaló en los comentarios de John T, el users el comando difiere de who en varios aspectos. La más importante es que, en lugar de dar un nombre por línea, distribuye los nombres en varios por línea:no tengo una máquina con suficientes usuarios diferentes conectados para probar qué sucede cuando la cantidad de usuarios aumenta. La otra diferencia es que 'who' informa sobre las conexiones de terminales en uso. Con múltiples ventanas de terminal abiertas, mostrará múltiples líneas para un solo usuario, mientras que 'usuarios' parece enumerar un usuario conectado solo una vez.

Como consecuencia de esta diferencia, el 'grep -c . ' la formulación no funcionará con el comando 'usuarios'; 'wc -w ' es necesario.


Estás buscando el wc (recuento de palabras) comando.

Prueba esto:

users | wc -w

Abra un shell y escriba:

who -q

La última línea le dará un conteo.

EDITAR:

(suspiro) Entendí mal la pregunta. Aquí hay un enfoque algo de fuerza bruta:

Para ver nombres de usuario únicos:

who | awk '{ print $1 }' | sort | uniq

Para ver un recuento de usuarios únicos:

who | awk '{ print $1 }' | sort | uniq | wc -l 

Linux
  1. Cómo encontrar todos los usuarios de Sudo en Linux

  2. Cómo encontrar todos los archivos dispersos en Linux

  3. Cómo encontrar el tamaño del búfer de socket de Linux

  4. Cómo canalizar los resultados de 'buscar' a mv en Linux

  5. ¿Cómo puedo contar la cantidad de carpetas en una unidad usando Linux?

Cómo encontrar usuarios actualmente conectados en Linux

Cómo encontrar los últimos usuarios que iniciaron sesión en Linux

Permisos de Linux:cómo encontrar los permisos de un archivo

Cómo encontrar el tamaño total de un directorio en Linux

Cómo encontrar archivos con el comando fd en Linux

Cómo encontrar la lista de repositorios instalados en Linux