用户的登录日期和登录时间

用户的登录日期和登录时间

我想获取用户的登录时间和登录日期,Unix中是否有任何命令提供用户的登录日期和用户的登录时间?我想在 Shell 脚本中执行这个问题,其中用户名从最终用户接受,并且在检查用户的可用性后,我想在不同的变量中获取该用户的登录时间和登录日期,然后使用“echo”命令显示。

答案1

对于过去的登录:

last "$USER_NAME"

此外,该命令who还会列出当前登录。

如果您要查找用户上次登录的日期,某些系统会直接提供该日期,例如lastlog -u "$USER_NAME"在 Linux 或lastlogin "$USER_NAME"FreeBSD 上。它也可以在 的输出中使用finger,但不是以易于解析的形式。无论如何,它都可以在last(在许多 UNIX 变体上,last -n 1 "$USER_NAME"显示最后一次登录;否则您可以这样做last "$USER_NAME" | head -n 1)的输出中找到。请注意,上次登录可能与上次注销不对应(例如,用户长时间保持从一个源的连接,并且最近进行了快速网络登录)。

答案2

在 Linux 上,last -R $username | awk '/still logged in/ {print $3,$4,$5,$6}'如果用户未登录,则不会返回任何内容,否则将返回每个活动会话的日期/时间列表。

其他不知道-RLast 选项(抑制主机名)的 Unix 系统将需要进行一些修改。

相关内容