如何判断用户连接ssh

aDo*_*DoN 3 users ssh

我想查看有多少用户连接到 PC 以查看当我执行以下操作时谁会看到消息:

echo hello users! | wall
Run Code Online (Sandbox Code Playgroud)

Bar*_*mar 8

使用who命令。它列出了所有登录的用户。

它不仅是 SSH 用户,它还会在控制台和直接连接的终端(如果有的话)上列出用户。对于 SSH 用户,它将显示他们从哪里连接。


Ant*_*hon 6

你想运行:

who -T | tr -s ' ' | cut -d ' ' -f 1-2 | sort -u
Run Code Online (Sandbox Code Playgroud)

解释:

  • who -T 显示所有用户及其可写状态('+' -> 你可以写信给他们)
  • tr -s ' '折叠who输出中的多个空格
  • cut -d ' ' -f 1-2 只取前两个字段(用户名 + 可写状态)
  • sort -u 对列表进行排序并仅显示唯一的事件(以防有人多次登录,就像控制台用户经常出现的情况一样)

这会给你类似的东西:

anthon +
avanderneut +
franzi -
rae +
Run Code Online (Sandbox Code Playgroud)