我想看看有多少用户连接到一台电脑,看看当我这样做时谁会看到该消息,例如:
echo hello users! | wall
答案1
使用who
命令。它列出了所有登录的用户。
它不仅仅是 SSH 用户,它还会列出控制台和直连终端上的用户(如果有的话)。对于 SSH 用户,它将显示他们的连接位置。
答案2
你想运行:
who -T | tr -s ' ' | cut -d ' ' -f 1-2 | sort -u
解释:
who -T
显示所有用户及其可写状态('+' -> 你可以向他们写信息)tr -s ' '
who
折叠 的输出中的多个空格cut -d ' ' -f 1-2
只取前两个字段(用户名+可写状态)sort -u
对列表进行排序并仅显示唯一出现的情况(以防某人多次登录,就像控制台用户经常出现的情况)
这会给你类似的东西:
anthon +
avanderneut +
franzi -
rae +
答案3
who
命令将为您提供登录用户的简单信息(用户、伪终端、会话开始日期、主机 IP)。
user pts/0 2014-10-30 16:00:00 (1.1.1.1)
w
命令将为您提供更详细的用户信息。
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
user pts/0 1.1.1.1 16:17 0.00s 0.30s 0.02s sshd: user [priv]