En este artículo, explicamos el whocomando que se incluye en el paquete GNU coreutils.

whoes una utilidad de línea de comandos que imprime una lista de los usuarios actualmente conectados. También puede mostrar el nivel de ejecución actual, la hora del último arranque del sistema y más.

Cómo usar el whocomando

La sintaxis básica del whocomando es la siguiente:

who [OPTION]... [ FILE | ARG1 ARG2 ]

Cuando se invoca sin ninguna opción o argumento, el resultado se ve así:

who
root     pts/0        2020-11-17 20:10 (10.10.0.2)
linuxize    pts/1        2020-11-17 20:11 (10.10.0.8)

who generará una lista formateada de todos los usuarios que actualmente están conectados al sistema.

Cada línea contiene cuatro campos separados por uno o más espacios:

  • El nombre del usuario registrado.
  • El terminal del usuario.
  • La hora en que el usuario inició sesión.
  • El nombre de host o la dirección IP desde donde el usuario inició sesión. Para forzar Ips, use la --ipsopción.

Si desea imprimir los encabezados de las columnas, agregue la opción -H( ):--heading

who -H
NAME      LINE         TIME             COMMENT
root      pts/0        2020-11-17 20:10 (10.10.0.2)
linuxize  pts/1        2020-11-17 20:11 (10.10.0.8)

El comando extrae información sobre el sistema y quién está conectado desde el /var/run/utmparchivo. Si desea utilizar otro archivo, pase la ruta del archivo al comando.

whoacepta dos argumentos que no son de opción. Cuando se invoca con dos argumentos, el comando imprime información solo sobre el terminal asociado con el usuario actual. El mismo resultado se muestra cuando -mse utiliza la opción.

Puedes usar dos argumentos cualquiera:

who am iwho mom lovewho foo barwho -m

Cada uno de los comandos anteriores imprimirá la misma información:

linuxize  pts/1        2020-11-17 20:11 (10.10.0.8)

whoOpciones de comando

whoacepta varias opciones que por lo general son poco utilizadas.

La opción -b, indica que se imprima la hora del último arranque del sistema:--bootwho

who -b
         system boot  2020-07-20 19:02

Para obtener una lista de todos los procesos muertos, use la opción -d, :--dead

who -d

La opción -r--runlevelindica whoque se muestre el nivel de ejecución actual:

who -r
         run-level 5  2020-07-20 19:02

Para obtener solo los nombres de usuario y la cantidad de usuarios conectados actualmente, use la opción -q, :--count

who -q
root linuxize
# users=2

La opción -a, obliga a imprimir toda la información:--allwho

who -a
           system boot  2020-07-20 19:02
LOGIN      tty1         2020-07-20 19:02               673 id=tty1
           run-level 5  2020-07-20 19:02
root       - pts/0      2020-11-17 20:10   .       2212314 (89.205.101.54)
           pts/2        2020-10-10 10:19           1363538 id=ts/2  term=0 exit=0
linuxize   + pts/1      2020-11-17 20:11 01:46     2212387 (89.205.101.54)

Conclusión

El whocomando imprime una lista de todos los usuarios conectados actualmente.

Para obtener información adicional sobre los usuarios que actualmente están conectados, marque el w comando.

Si tiene alguna pregunta, por favor deje un comentario a continuación.