插件窝 干货文章 linux怎么查看有几个用户登录

linux怎么查看有几个用户登录

登录 用户 bash 用户数 549    来源:    2025-05-03

在Linux系统中,可以通过以下几种方法查看当前登录的用户数量及详细信息:


1. 使用 who 命令

who
  • 输出示例
    user1 pts/0 2023-10-01 09:30 (192.168.1.100)
    user2 tty2 2023-10-01 10:15
  • 统计用户数
    bash who | wc -l

2. 使用 w 命令(更详细)

w
  • 输出信息:用户名、终端、登录时间、空闲时间、当前进程等。
  • 统计用户数
    bash w -h | wc -l

3. 使用 users 命令(仅显示用户名)

users
  • 输出示例user1 user2 user1
    (重复用户名表示同一用户多终端登录)

4. 查看 /var/run/utmp 文件(底层数据)

utmpdump /var/run/utmp
  • 需要 root 权限,显示原始登录记录。

5. 统计唯一登录用户数

如果同一用户通过多个终端登录,去重统计:

who | awk '{print $1}' | sort -u | wc -l

常见问题:

  • SSH 登录用户whow 会显示 pts/* 终端(远程登录)。
  • 图形界面登录tty*:0 表示本地图形会话。
  • 无用户登录:命令返回空或计数为 0。

示例输出解读:

$ w
 10:30:01 up 2 days,  3:45,  3 users,  load average: 0.15, 0.10, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
user1    pts/0    192.168.1.100    09:30    5:00m  0.10s  0.00s sshd: user1
user2    tty2     :0               10:15    15:00  0.20s  0.15s /bin/bash
  • 3 users:总登录会话数(含重复用户)。
  • 唯一用户:实际为 2 个用户(user1 和 user2)。

根据需求选择合适的方法即可!