在Linux系统中,了解当前登录的用户信息是系统管理和日常运维的重要技能,无论是排查问题、监控资源使用,还是确保系统安全,掌握多种查看登录用户的方法都至关重要,本文将详细介绍Linux系统中查看登录用户的多种命令及其使用场景,帮助用户根据实际需求选择合适的工具。

使用 who 命令查看当前登录用户
who 是最基础、最常用的查看登录用户信息的命令之一,它以简洁的格式显示当前所有登录系统的用户及其相关信息。
基本用法
直接在终端输入 who,默认会输出以下四列信息:
- 用户名:登录系统的账户名称。
- 终端:用户登录所使用的终端设备,如
tty1(本地虚拟终端)、pts/0(伪终端,通常用于SSH远程登录)。 - 登录时间:用户登录系统的具体时间。
- 远程主机:如果用户是通过远程登录的,会显示客户端的IP地址或主机名;本地登录则显示空。
示例输出:
alice pts/0 2023-10-01 10:30 (192.168.1.100)
bob tty1 2023-10-01 09:15
常用选项
-u:显示用户的 idle 时间(即用户最后一次操作至今的空闲时间)。-H:打印列标题,便于理解输出内容。-q:仅显示所有登录用户的名列表及总用户数,适合快速统计。
who -uH 会输出带标题的详细信息,包括 idle 时间:
USER TERMINAL IDLE TIME HOST
alice pts/0 00:15 10:30 192.168.1.100
bob tty1 old 09:15
使用 w 命令查看详细登录信息
w 命令是 who 的增强版,不仅显示登录用户的基本信息,还提供了系统负载、用户当前进程等更丰富的数据,适合需要监控系统资源使用情况的场景。
基本用法
执行 w 命令后,输出分为两部分:

- 第一行:系统当前时间、系统运行时长、登录用户数、系统负载(1分钟、5分钟、15分钟平均值)。
- 后续行:每个登录用户的详细信息,包括用户名、终端、远程主机、登录时间、空闲时间、当前进程(JCPU,指该用户所有进程执行的总时间)和PCPU(当前进程执行的时间)。
示例输出:
10:35:01 up 2 days, 3:15, 2 users, load average: 0.05, 0.10, 0.08
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
alice pts/0 192.168.1.100 10:30 0.00s 0.05s 0.03s bash
bob tty1 - 09:15 2days 0.10s 0.01s -bash
常用选项
-h行,仅显示用户信息。-s:简化输出,不显示 JCPU 和 PCPU 时间。-u:显示 idle 时间,与who -u类似。
使用 users 命令快速查看登录用户列表
users 是一个极其简单的命令,仅以空格分隔的方式列出当前所有登录系统的用户名,重复的用户名会合并显示。
示例输出
如果用户 alice 通过两个终端登录(pts/0 和 pts/1),输出可能为:
alice alice bob
该命令适合快速检查当前有哪些用户在线,但信息量较少,通常不用于详细分析。
使用 last 命令查看历史登录记录
last 命令用于查看系统的登录历史记录,包括当前登录和过去的登录信息(存储在 /var/log/wtmp 文件中),适合审计和排查历史登录问题。
基本用法
直接执行 last,会按时间倒序显示登录记录,包括用户名、终端、远程主机、登录时间和退出时间(若未退出则显示 still logged in)。

示例输出:
alice pts/0 192.168.1.100 Mon Oct 2 10:30 still logged in
bob tty1 - Mon Oct 2 09:15 down (00:05)
reboot system boot 5.15.0-56-generic Mon Oct 2 07:00 -2:15 (00:00)
常用选项
-n 数字:仅显示最近数字条记录,如last -n 5显示最近5条登录记录。-x:显示系统关机、重启等事件,便于关联登录时间与系统状态。-i:显示远程主机的IP地址而非主机名。
使用 finger 命令查看用户详细信息
finger 命令可以显示用户的详细登录信息,包括用户名、主目录、登录Shell、空闲时间等,但部分系统可能默认未安装,需通过包管理器(如 sudo apt install finger 或 sudo yum install finger)安装。
示例输出
Login: alice Name: (null)
Directory: /home/alice Shell: /bin/bash
On since Oct 2 10:30 (pts/0 from 192.168.1.100) on idle for 0:00
No mail.
No Plan.
查看特定用户的登录信息
若需查看某个特定用户的登录状态,可结合上述命令的过滤功能。
who | grep alice:查看用户alice的登录信息。w | grep bob:查看用户bob的详细登录状态。last alice:查看用户alice的历史登录记录。
总结与建议
在Linux系统中,查看登录用户的方法多种多样,可根据需求选择合适的工具:
- 快速查看当前用户:
who或users。 - 监控资源与进程:
w命令。 - 审计历史登录:
last命令。 - 详细用户信息:
finger命令(需安装)。
掌握这些命令后,用户可以高效管理系统的登录状态,及时发现异常登录行为,保障系统安全,建议定期清理 /var/log/wtmp 等日志文件,避免文件过大影响查询效率。


















