Introducción
En este artículo, explicamos el who
incluido en el paquete GNU coreutils.
who
es una utilidad de línea de comandos que imprime una lista de los usuarios conectados actualmente. También puede mostrar el nivel de ejecución actual, la hora del último inicio del sistema y más.
Cómo usar el comando who
La sintaxis básica del who
es la siguiente:
who [OPTION]... [ FILE | ARG1 ARG2 ]
Cuando se invoca sin opciones o argumentos, la salida se ve así:
who
root pts/0 2020-11-18 21:20 (10.10.0.2)
noviello pts/1 2020-11-18 21:11 (10.10.0.8)
who
producirá una lista formateada de todos los usuarios actualmente 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 la que inició sesión el usuario. Para forzar los Ips, use la opción
--ips
Si desea imprimir los encabezados de las columnas, agregue la -H
( --heading
):
who -h
NAME LINE TIME COMMENT
root pts/0 2020-11-18 21:10 (10.10.0.2)
noviello pts/1 2020-11-18 21:11 (10.10.0.8)
El comando extrae información sobre el sistema y quién está conectado desde el archivo /var/run/utmp
. Si desea utilizar otro archivo, pase la ruta del archivo al comando.
who
acepta dos argumentos no opcionales. Cuando se invoca con dos argumentos, el comando solo imprime información sobre el terminal asociado con el usuario actual. La misma salida se muestra cuando se usa la opción -m
Puede utilizar dos argumentos cualesquiera:
who am i
Cada uno de los comandos anteriores imprimirá la misma información:
noviello pts/1 2020-11-18 21:11 (10.10.0.8)
Quién manda opciones
who
acepta varias opciones que generalmente se utilizan con poca frecuencia.
La -b
, --boot
le dice al who
que imprima la hora del último inicio del sistema:
who -b
system boot 2020-07-21 19:02
Para obtener una lista de todos los procesos muertos, use la opción -d
, --dead
who -d
La opción -r
--runlevel
, le dice al who
que muestre el nivel de ejecución actual:
who -r
run-level 5 2020-07-21 20:02
Para obtener solo los nombres de usuario y la cantidad de usuarios registrados actualmente, use la opción -q
, --count
who -q
root noviello
# users=2
La -a
, --all
fuerza la salida de toda la información:
who -a
system boot 2020-07-21 17:02
LOGIN tty1 2020-07-21 17:02 673 id=tty1
run-level 5 2020-07-21 17:02
root - pts/0 2020-11-18 21:10. 2212314 (89.205.111.11)
pts/2 2020-10-11 11:19 1363538 id=ts/2 term=0 exit=0
noviello + pts/1 2020-11-18 21:12 02:46 2212387 (89.205.111.11)
Conclusión
El who
imprime una lista de todos los usuarios conectados actualmente.
Para obtener más información sobre los usuarios que han iniciado sesión actualmente, marque el comando w