El comando estándar de Unixwho
muestra una lista de usuarios que están actualmente conectados a la computadora.
El who
comando está relacionado con el comando w , que proporciona la misma información pero también muestra datos y estadísticas adicionales.
Un who
comando que muestra los nombres de los usuarios conectados se implementó por primera vez en Multics . [1] Más tarde, apareció en la versión 1 de Unix [2] y se convirtió en parte de la Guía de portabilidad X/Open desde la edición 2 de 1987. Fue heredado en la primera versión de POSIX.1 y la Especificación Única de Unix . [3]
La versión who
incluida en GNU coreutils fue escrita por Joseph Arceneaux, David MacKenzie y Michael Stone. [4]
La especificación única UNIX (SUS) especifica que who
se debe incluir información sobre los usuarios accesibles. La extensión XSI también especifica que se deben incluir los datos del nombre de usuario, terminal, hora de inicio de sesión, ID de proceso y hora desde la última actividad en el terminal. Además, se puede especificar una base de datos de sistema alternativa utilizada para la información del usuario como un argumento opcional para who .
El comando se puede invocar con los argumentos am i
o am I
(por lo que se invoca como who am i
o who am I
), mostrando información solo sobre la terminal actual (ver el comando tty y la opción a continuación, de la cual esta invocación es equivalente).-m
El SUS sin extensiones solo especifica las siguientes opciones -m
, -T
y -u
, todas las demás opciones se especifican en la extensión XSI.
-a
, procesa la base de datos del sistema utilizada para la información del usuario con -b
, -d
, -l
, -p
, -r
, y .-t
-T
-u
-b
, muestra la hora en que se reinició el sistema por última vez-d
, muestra procesos zombies y detalles-H
, mostrar encabezados de columnas-l
, muestra terminales donde un usuario puede iniciar sesión-m
, muestra información sobre la terminal actual únicamente-p
, mostrar procesos activos-q
, formato rápido, muestra solo los nombres y el número de todos los usuarios conectados, deshabilita todas las demás opciones; equivalente a la utilidad de línea de comandos de usuarios -r
, muestra el nivel de ejecución del proceso de inicio.-s
, (predeterminado) muestra solo el nombre, la terminal y los detalles de la hora-t
, muestra cuándo se modificó por última vez el reloj del sistema-T
, muestra detalles de cada terminal en un formato estándar (ver nota en la sección Ejemplos)-u
, muestra el tiempo de inactividad; XSI muestra los usuarios conectados y muestra información sobre si el terminal se ha utilizado recientemente o noOtros sistemas operativos Unix y similares pueden agregar opciones adicionales. GNU incluye una opción que se comporta de manera similar a y una opción que muestra si el usuario listado acepta mensajes (SUS muestra esto cuando se especifica ), pero GNU y BSD omiten varias de las opciones anteriores (como , , , y otras); GNU, en cambio, utiliza para realizar búsquedas DNS en los nombres de host listados.-i
-u
-w
-T
who
who
-a
-b
-d
who
-l
El SUS sin extensiones especifica que el formato de salida debe estar "definido por la implementación". La extensión XSI especifica un formato, pero advierte que no está completamente especificado; los delimitadores y las longitudes de los campos no se especifican con precisión. Por lo tanto, el formato de la salida difiere considerablemente entre las implementaciones de Unix.