给定机器名称,我想检查是否有人登录了该机器。只需回答是/否就足够了(我不想要他们的用户名)。有关要查找的命令的任何提示?
通过“登录” - 我的意思是在该机器上使用图形用户界面 - ssh 不算在内。
你可以假设我有这台机器的授权 ssh 登录。
Pau*_*aul 11
who 向您显示谁已登录。如果他们在 gui 中,则他们的“终端”是他们所连接的 X 显示(否则为 tty):
paul :0 2013-02-20 11:43
Run Code Online (Sandbox Code Playgroud)
所以
who | grep paul
Run Code Online (Sandbox Code Playgroud)
如果我没有登录,则不会返回任何内容,或者如果我登录,则不会返回任何内容。
如果您想排除 ssh 和控制台连接,则:
who | grep -v pts | grep paul
Run Code Online (Sandbox Code Playgroud)
您可以通过添加到 ssh 命令来远程运行此命令:
ssh user@host 'who | grep -v pts | grep paul'
Run Code Online (Sandbox Code Playgroud)
这将登录到远程机器,执行who,并返回结果。