linux查看登录用户数量的方法
linux系统中存在多个内置命令可以用于查看当前登录的用户信息,不同命令的输出格式和包含的信息维度有所区别,用户可以根据实际需求选择合适的命令来统计登录用户数量。

常用查看命令介绍
who命令
who命令可以显示当前登录到系统的所有用户信息,包括用户名、登录终端、登录时间、登录来源IP等内容,输出格式清晰,适合快速查看登录用户详情。
直接使用who命令查看所有登录用户:
who
如果要统计当前登录的用户数量,可以结合wc命令统计行数,因为每个登录用户对应一行输出:
who | wc -l
users命令
users命令会输出当前所有登录用户的用户名,同一个用户如果通过多个终端登录,用户名会重复显示,适合快速获取登录用户列表。
查看当前登录用户列表:
users
统计去重后的登录用户数量,可以结合sort和uniq命令:
users | tr ' ' 'n' | sort | uniq | wc -l
w命令
w命令不仅可以显示当前登录用户,还会展示每个用户正在执行的命令、CPU占用、内存占用等系统负载信息,信息维度更丰富。
使用w命令查看登录用户及系统状态:
w
统计w命令输出中的登录用户数量,可以跳过前两行头部信息后统计行数:
w | tail -n +3 | wc -l
last命令
last命令用于查看系统的登录历史记录,包括历史登录用户、登录时间、退出时间、登录来源等信息,默认会显示最近的登录记录。
查看最近的登录记录:
last
如果只需要查看当前仍然处于登录状态的用户,可以结合grep命令过滤still logged in的记录:
last | grep "still logged in" | wc -l
不同命令的适用场景
如果只需要快速获取当前登录用户的数量,优先使用who | wc -l命令,输出简洁效率高。如果需要查看每个登录用户的详细操作状态,选择w命令更合适。如果要排查历史登录异常,last命令是更好的选择。users命令适合快速获取登录用户名的列表,方便后续做用户维度的统计。
注意事项
- 所有统计登录用户数量的命令,统计的都是当前处于活跃登录状态的用户,不包括已经退出登录的用户。
- 如果系统开启了多用户登录或者远程登录服务,统计结果会包含本地终端登录和远程SSH登录的所有用户。
- 部分命令需要对应的查看权限,普通用户也可以执行上述命令查看登录用户信息,不需要root权限。