who命令显示登录用户基本信息,如用户名、终端、登录时间和来源IP,常用选项包括-u、-r、am i和-H;w命令功能更全面,除用户信息外还展示系统负载、空闲时间及正在运行的命令,适合监控系统状态和用户活动,两者区别在于w提供更详细的实时系统与用户行为信息。
在linux系统中,who和w是两个常用的命令行工具,用于查看当前登录到系统的用户信息。它们功能相似,但输出内容和用途略有不同。下面分别介绍这两个命令的基本用法和常见选项。
who 命令:查看登录用户基本信息
who命令主要用于显示当前登录系统的用户名称、终端、登录时间以及来源IP等基本信息。
基本语法:
who
常见输出示例:
alice pts/0 2025-04-05 10:30 (192.168.1.100)
bob pts/1 2025-04-05 11:15 (10.0.0.5)
字段说明:
- 用户名:登录系统的账户名
- 终端:用户使用的终端设备(如pts/0表示伪终端)
- 登录时间:用户登录的具体时间
- IP地址:括号内为用户的远程登录来源
常用选项:
- who -u:显示用户空闲时间(idle time)和进程ID
- who -r:显示当前系统运行级别
- who am i:仅显示当前执行该命令的用户登录信息(不包括通过su切换的用户)
- who -H:输出时显示表头
w 命令:查看用户活动状态
w命令比who更强大,不仅能显示登录用户,还能展示他们正在执行的命令和系统负载情况。
基本语法:
w
输出通常分为两部分:
- 第一部分:系统时间、运行时长、登录用户数、系统负载(1分钟、5分钟、15分钟平均值)
- 第二部分:每个用户的详细活动信息,包括终端、来源IP、登录时间、空闲时间、当前运行的命令
示例输出片段:
11:25:03 up 2 days, 3:10, 2 users, load average: 0.02, 0.05, 0.07
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
alice pts/0 192.168.1.100 10:30 0.00s 0.23s 0.01s w
bob pts/1 10.0.0.5 11:15 5:10 0.10s 0.10s vim note.txt
字段说明:
- WHAT:用户当前正在运行的命令
- JCPU:该终端所有进程占用的CPU时间
- PCPU:当前进程占用的CPU时间
- IDLE:用户最后一次操作后空闲的时间
常用选项:
- w -h:不显示头部信息
- w -s:使用短格式输出,省略JCPU和PCPU列
- w 用户名:只显示指定用户的活动情况,例如 w alice
who 与 w 的主要区别
虽然两者都能列出登录用户,但侧重点不同:
- who 更简洁,适合快速查看谁登录了系统
- w 提供更多实时活动信息,适合系统管理员监控用户行为和系统性能
- w 包含系统负载信息,有助于判断服务器压力
基本上就这些。根据需要选择合适的命令即可。
评论(已关闭)
评论已关闭