El comando who
en Linux es una utilidad de línea de comandos que muestra información sobre los usuarios que actualmente están conectados al sistema. Proporciona una visión general rápida de qué usuarios están conectados y qué están haciendo.
La salida del comando who
normalmente incluye el nombre de usuario, el nombre del terminal (tty/pts), la fecha y hora de inicio de sesión y el nombre del host remoto del usuario si el inicio de sesión es desde una ubicación remota.
Sintaxis general del comando who:
who [OPCIONES…]
- Mostrar información de todos los usuarios
- Mostrar la última hora de inicio del sistema
- Listar todos los usuarios conectados
- Verificar el permiso de escritura del usuario
- Mostrar todos los procesos inactivos
- Mostrar información sobre el usuario actual
- Mostrar todos los procesos activos generados por el proceso INIT
- Mostrar el nivel de ejecución actual
Mostrar información de todos los usuarios
who -a
La opción -a
te permite ver todos los detalles de cada usuario conectado al sistema actual.
Ejemplo:
Aquí tienes un ejemplo de salida de lo que podría mostrar el comando who -a:
system boot 2024-05-09 08:15
run-level 5 2024-05-09 08:15
LOGIN tty1 2024-05-09 08:15 420 id=tty1
username + pts/0 2024-05-09 10:18 . 1025 (192.168.1.10)
En este ejemplo:
system boot 2024-05-09 08:15
muestra cuándo se inició el sistema por última vez.run-level 5 2024-05-09 08:15
indica el nivel de ejecución actual del sistema y cuándo se cambió por última vez. El nivel de ejecución 5 normalmente significa que el sistema está en modo multiusuario con una interfaz gráfica de usuario.LOGIN tty1 2024-05-09 08:15 420 id=tty1
muestra un proceso de inicio de sesión que se inició en el terminal tty1 a la hora especificada. El número 420 es el ID del proceso de inicio de sesión e id=tty1 es un identificador para el terminal.username + pts/0 2024-05-09 10:18 . 1025 (192.168.1.10)
muestra a un usuario llamado username conectado al pseudoterminal pts/0 a la hora especificada. El signo + indica que el usuario está recibiendo mensajes de otros usuarios en el sistema. El punto (.) significa que el usuario está activo. El número 1025 es el ID del proceso del shell del usuario y (192.168.1.10) es la dirección IP del host remoto desde el que inició sesión el usuario.
Mostrar la última hora de inicio del sistema
who -b
Usa el comando who con la opción -b
para imprimir la última hora de inicio del sistema.
Ejemplo:
Aquí tienes un ejemplo de salida del comando who -b
:
system boot 2024-05-09 08:17
En este ejemplo:
system boot
indica que la información proporcionada es sobre la hora de inicio del sistema.2024-05-09 08:17
es la fecha y hora en que se inició el sistema por última vez.
Listar todos los usuarios conectados
who -q
Este comando muestra solo los nombres de los usuarios conectados y el número total de usuarios conectados. La opción -q
significa “quick” (“rápido“).
Ejemplo:
Aquí tienes un ejemplo de salida del comando who -q
:
username1 username2 username3
# users=3
En este ejemplo:
username1
,username2
yusername3
son los nombres de los usuarios actualmente conectados al sistema.users=3
indica el número total de usuarios conectados actualmente al sistema.
Verificar el permiso de escritura del usuario
who -T
El comando who -t
en Linux se utiliza para mostrar la última hora de inicio del sistema. La opción -t
significa “time” (“hora“).
Ejemplo:
Escribamos el comando who -T
para mostrar los estados de los usuarios en el terminal.
system boot 2024-05-09 08:15
En este ejemplo:
system boot
indica que es la hora en que el sistema se inició por última vez.2024-05-09 08:15
es la fecha y hora del último inicio del sistema.
Mostrar todos los procesos inactivos
who -d
El comando who -d
en Linux se utiliza para mostrar los usuarios que están conectados, pero también incluye los procesos que fueron iniciados por los usuarios pero que actualmente están en un estado “inactivo“. Estos son procesos que fueron iniciados por usuarios conectados pero que ya no están vinculados a una sesión de usuario.
Ejemplo:
Escribiendo el comando who con la opción -d para mostrar detalles de todos los procesos inactivos.
username pts/0 2024-05-09 10:18 (192.168.1.10)
username pts/1 2024-05-09 10:20 . 12345
En este ejemplo:
- La primera línea es una sesión de usuario normal, similar a la salida del comando
who
. - La segunda línea representa un proceso “inactivo”. El punto (.) indica que el proceso ya no está vinculado a una sesión de usuario. Este tipo de procesos son aquellos que fueron iniciados por usuarios conectados pero que ya no están directamente asociados con una sesión de terminal.
Mostrar información sobre el usuario actual
who -m
El comando who -m
en Linux se utiliza para mostrar información sobre el terminal actual. La opción -m
significa “mesg“, que es la abreviatura de “message” (“mensaje“). Muestra la información relacionada solo con el terminal actual.
Ejemplo:
Aquí hay un ejemplo de salida del comando who -m
:
username pts/0 2024-05-09 10:18
En este ejemplo:
username
es el nombre del usuario conectado.pts/0
es el nombre del terminal. Elpts
significa terminal pseudoesclavo. Si el usuario está conectado a través de un terminal físico, sería tty (teletypewriter).2024-05-09 10:18
es la fecha y hora en que el usuario inició sesión.
Mostrar todos los procesos activos generados por el proceso INIT
who -p
El comando who -p
muestra los procesos activos generados por el sistema init. Sin embargo, esta opción no está disponible universalmente en todos los sistemas operativos tipo Unix.
Ejemplo:
En los sistemas donde está disponible, podría mostrar una salida similar a esta:
run-level 3 2024-05-09 10:18
En este ejemplo:
run-level 3
indica el nivel de ejecución actual del sistema. Los niveles de ejecución son un estado o modo en el que opera un sistema operativo tipo Unix como Linux. Los diferentes niveles de ejecución sirven para diferentes propósitos y se denotan mediante números. Por ejemplo, el nivel de ejecución 3 normalmente significa que el sistema está en modo multiusuario con red (el significado exacto puede variar un poco según el sistema).2024-05-09 10:18
es la fecha y hora en que se estableció el nivel de ejecución actual.
Mostrar el nivel de ejecución actual
who -r
El comando who -r
en Linux muestra el nivel de ejecución actual del sistema. El nivel de ejecución es un estado del sistema que define qué servicios y recursos están disponibles para los usuarios.
Ejemplo:
run-level 3 2024-05-09 10:18
En este ejemplo:
run-level 3
indica el nivel de ejecución actual del sistema. En este caso, es 3, lo que normalmente significa que el sistema está en modo multiusuario con red (esto puede variar ligeramente según la distribución específica de Linux).2024-05-09 10:18
es la fecha y hora en que se cambió por última vez el nivel de ejecución actual.
Más comandos de Linux:
Operaciones de Directorios | rmdir · cd · pwd · exa · ls |
Operaciones de Archivos | cat · cp · dd · less · touch · ln · rename · more · head |
Operaciones de Sistema de Archivos | chown · mkfs · locate |
Redes | ping · curl · wget · iptables · mtr |
Búsqueda y Procesamiento de Texto | find · grep · sed · whatis · ripgrep · fd · tldr |
Información y Gestión del Sistema | env · history · top · who · htop · glances · lsof |
Gestión de Usuarios y Sesiones | screen · su · sudo · open |
¿Qué te parece?
Es bueno conocer tu opinión. Deja un comentario.