Tutoriales

Comando Who en Linux: muestra todos los usuarios y sesiones que han iniciado sesión

Cuando compartes un servidor con un equipo o investigas una actividad inesperada, la primera pregunta es simple: ¿Quién está en esta computadora en este momento? este who El comando se lee y responde con precisión desde el registro de sesión del sistema, que enumera cada sesión de usuario activa junto con su punto final, hora de inicio de sesión y ubicación de conexión.

Cómo usar el comando who en Linux

La sintaxis básica es:

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

Ejecute sin argumentos para ver todas las sesiones activas:

bashwho
root     pts/0        2026-04-12 20:10 (10.10.0.2)linuxize pts/1        2026-04-12 20:11 (10.10.0.8)

Cada fila tiene cuatro campos: nombre de usuario, terminal, hora de inicio de sesión y el nombre de host o IP de donde proviene la sesión. Para forzar el uso de direcciones IP en lugar de nombres de host resueltos, agregue --ips.

usar -H Imprimir títulos de columnas:

bashwho -H# NAME     LINE         TIME             COMMENT

who Leer de /var/run/utmp De forma predeterminada, realiza un seguimiento de las sesiones activas. Para verificar su historial de inicio de sesión, vaya a /var/log/wtmp Como argumento:

bashwho /var/log/wtmp | tail -20

este who am i Peculiaridades. Cuando pasas dos argumentos que no son opciones, who Imprima solo información sobre su propio terminal actual: el mismo resultado que a continuación -m. es por eso who am i, who mom lovey who foo bar ambos producen la misma producción. Esta es una convención de Unix, no un análisis especial de esas palabras específicas:

bashwho am iwho -m      # same result

quien manda opciones

OpcionesInfluencia
-HImprimir título de columna
-bMostrar la última hora de inicio del sistema
-qMostrar solo nombres de usuario y totales (# users=N)
-mMuestra sólo la sesión de terminal actual (equivalente a who am i)
-aImprime todos los campos disponibles: tiempo de inicio, nivel de ejecución, procesos inactivos y sesiones.

este -b Las opciones son útiles para crear una línea de tiempo junto a las sesiones activas:

bashwho -b#          system boot  2026-04-10 19:02

este -r La opción muestra el nivel de ejecución actual. En los hosts modernos basados ​​en systemd, la salida suele ser limitada o vacía; considérelo como una salida heredada en lugar de una verificación de estado confiable.

este -q Las opciones dan el resumen más rápido:

bashwho -q# root linuxize# # users=2

quién contra whoami contra w

Estos tres comandos responden a tres preguntas diferentes:

  • whoami – Imprima sólo su propio nombre de usuario válido. úsalo después sudo o su Confirma quién te postulas.
  • who – Enumere cada usuario actualmente conectado: terminal, hora de inicio de sesión y host de origen.
  • w – Muestra la misma lista de usuarios junto con los promedios de carga del sistema, el tiempo de inactividad de cada sesión y los comandos que cada usuario ejecuta actualmente. usar w Cuando quieras saber qué están haciendo los usuarios activos, no solo si están conectados.

Para obtener registros de inicio de sesión históricos en lugar de la sesión actual, visite last.

usar who Para sesiones activas, who -H Agregar nuevos encabezados de columna, who /var/log/wtmp para el historial de inicio de sesión, y w Cuando también necesitas ver el tiempo libre y las actividades actuales. Si tiene algún problema, deje un comentario a continuación.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba