登录
首页 >  文章 >  linux

Linux查看登录用户命令:who和w使用教程

时间:2026-04-29 21:36:41 242浏览 收藏

想快速掌握Linux系统中谁正在登录、在做什么、用了多少资源?本文详解五种实用命令——who简洁呈现会话基础信息,w实时展示用户活动与系统负载,users一键提取用户名列表便于脚本处理,last巧妙筛选“still logged in”精准定位当前在线用户,finger则深入提供用户真实姓名、主目录、Shell等丰富上下文;无论你是运维人员需监控多用户环境,还是普通用户想确认系统状态,这些内置工具都能帮你高效、准确地获取所需信息。

Linux怎么查看登录用户_Linux who和w查看在线用户方法【基础】

如果您需要确认当前有哪些用户已登录到 Linux 系统,可通过多个内置命令快速获取在线会话信息。以下是几种基础且可靠的方法:

一、使用 who 命令查看登录用户

who 命令从 /var/run/utmp 文件读取当前活跃登录会话,输出简洁明了,仅包含用户名、终端设备、登录时间及远程来源 IP(如为 SSH 登录)。

1、在终端中输入 who 并按回车执行。

2、观察输出结果,每行对应一个登录会话,字段依次为:用户名、终端(如 pts/0 或 tty1)、登录日期与时间、来源 IP(括号内)。

3、如需仅显示当前终端所属用户,可运行 who am iwho mom likes

4、若要附加空闲时长信息,可使用 who -u

二、使用 w 命令查看用户活动状态

w 命令不仅列出登录用户,还整合了系统负载、各用户当前运行的命令及资源占用情况,适合实时监控多用户环境下的系统状态。

1、在终端中输入 w 并回车执行。

2、顶部显示系统时间、运行时长、当前用户数及 1/5/15 分钟平均负载。

3、下方表格中,USER 列为用户名,TTY 为终端,FROM 为来源 IP,LOGIN@ 为登录时刻,IDLE 为空闲秒数,JCPU 和 PCPU 分别表示该终端累计与当前进程 CPU 时间,WHAT 为正在执行的命令。

4、如需隐藏顶部摘要行,可使用 w -h;如需不显示 JCPU/PCPU/登录时间,可加 w -s

三、使用 users 命令快速提取用户名列表

users 命令专为轻量级调用设计,直接从 utmp 中提取所有当前登录用户的名称,以空格分隔,无多余字段,适用于脚本解析或快速核对。

1、在终端中执行 users

2、输出为单行字符串,例如:alice bob root,重复出现表示同一用户存在多个会话。

3、可结合管道进一步处理,如去重统计:users | tr ' ' '\n' | sort | uniq | wc -l

四、使用 last 命令筛选当前在线用户

last 命令读取 /var/log/wtmp 日志,虽主要反映历史记录,但其输出中含 still logged in 标记,可准确识别当前仍处于活跃状态的登录会话。

1、运行 last 查看完整登录历史。

2、在输出中查找标记为 still logged in 的条目,这些即为当前在线用户。

3、每条匹配行包含用户名、终端(如 pts/2)、来源 IP、登录起始时间及持续时长。

4、为聚焦当前会话,可限定输出并过滤:last | grep 'still logged in'

五、使用 finger 命令查看用户详细信息

finger 命令提供比 who 更丰富的用户上下文,包括真实姓名、主目录、Shell、最近登录时间及终端状态,但需提前安装且非所有发行版默认启用。

1、如未安装,在 Ubuntu/Debian 系统中运行:sudo apt install finger;在 CentOS/RHEL 中运行:sudo yum install fingersudo dnf install finger

2、安装完成后,直接执行 finger 可显示当前用户详情。

3、查看指定用户(如 alice)的完整信息,运行:finger alice

4、若仅需用户名列表,可用 finger | grep '^Login:' | cut -d: -f2 | tr -d ' ' 提取。

到这里,我们也就讲完了《Linux查看登录用户命令:who和w使用教程》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>