Quiero obtener el tiempo de inicio de sesión y la fecha de inicio de sesión del usuario, ¿hay algún comando en Unix que proporcione la fecha de inicio de sesión y la hora de inicio de sesión del usuario? Este problema que quiero realizar en Shell-script donde el nombre de usuario acepta del usuario final y después de verificar la disponibilidad del usuario, me gustaría obtener el tiempo de inicio de sesión y la fecha de inicio de sesión de ese usuario en diferentes variables y luego mostrarlo usando el comando 'echo' .
Para inicios de sesión pasados:
last "$USER_NAME"
Además, el comando who
enumera los inicios de sesión actuales.
Si está buscando la fecha del último inicio de sesión del usuario, algunos sistemas la proporcionan directamente, por ejemplo lastlog -u "$USER_NAME"
en Linux o lastlogin "$USER_NAME"
en FreeBSD. También está disponible en la salida de finger
, pero no en una forma fácil de analizar. En cualquier caso, está disponible en la salida de last
(en muchas variantes de Unix, last -n 1 "$USER_NAME"
muestra el último inicio de sesión; de lo contrario puedes hacer last "$USER_NAME" | head -n 1
). Tenga en cuenta que el último inicio de sesión puede no corresponder al último cierre de sesión (por ejemplo, un usuario permaneció conectado desde un origen durante mucho tiempo e hizo un inicio de sesión rápido en la red recientemente).
En Linux, last -R $username | awk '/still logged in/ {print $3,$4,$5,$6}'
no devolverá nada si el usuario no ha iniciado sesión; de lo contrario, aparecerá una lista de fecha/hora para cada sesión activa.
Otros unixes que no conocen el -R
la opción durar (que suprime el nombre de host) necesitará alguna modificación.