Linux who指令查询和显示当前登录系统的用户信息

who 是 Linux 系统中一个基础且重要的系统管理命令,用于查询和显示当前登录系统的用户信息。它通过读取系统日志文件(默认为 /var/run/utmp)来获取数据,并将结果以清晰格式输出。

一、命令基本语法与功能

命令的基本语法为:

复制代码
who [选项]... [文件 | 参数1 参数2]

如果不指定文件,则默认读取 /var/run/utmp 来获取当前登录信息;如果指定文件(如 /var/log/wtmp),则可以查看历史登录记录。

执行 who 命令(不加任何选项)会默认显示当前所有登录用户的用户名终端设备登录时间 以及远程主机地址(如果是从远程登录)。

二、常用选项与示例

who 命令支持丰富的选项来满足不同的查询需求。以下是一些最常用的选项及其效果:

选项 功能描述 示例命令与典型输出
-H 在输出结果上方显示列标题,使信息更易读。 who -H 会输出类似 NAME LINE TIME IDLE PID COMMENT 的标题行。
-u-i 显示用户空闲时间进程ID 等额外信息。空闲时间显示规则:. 表示最近1分钟内有活动;00:11 表示空闲11分钟;old 表示空闲超过24小时;? 表示无法检测(如图形界面)。 who -uH
-a 显示所有信息 ,是 -b -d --login -p -r -t -T -u 选项的集合,输出包括系统启动时间、运行级别、死进程等最全面的信息。 who -a
-b 仅显示系统最近一次启动的时间和日期 who -b 输出:system boot 2025-06-09 05:58
-r 显示系统当前的运行级别 who -r 输出:run-level 5 2025-06-09 05:58
-q 快速统计,只显示登录的用户名列表和用户总数,输出简洁。 who -q 输出:root root root root# users=4
-m 仅显示与当前终端关联的用户信息 。其等效命令 who am iwho mom likes 也用于实现此功能。 who -mwho am i
-T-w 显示用户终端的消息写入状态+ 表示允许接收消息;- 表示禁止;? 表示状态未知或终端不支持。 who -a 的输出中,用户名旁会显示 +- 符号。

三、核心应用场景

  1. 实时查看在线用户:最基本的用途,快速了解谁登录了系统以及从何处登录。
  2. 系统状态检查 :通过 -b-r 选项可以方便地查看系统启动时间和运行级别,用于基础运维。
  3. 用户会话管理 :结合 -u 选项查看用户的空闲时间,可以帮助管理员判断哪些会话可能可以被安全终止。在需要踢出指定用户时,可先用 whow 命令查出其对应的终端(如 pts/3),然后使用 pkill -kill -t pts/3 命令强制其下线。
  4. 审计与历史查询 :通过指定日志文件(如 who /var/log/wtmp),可以回顾系统的登录、注销、重启等历史记录。

四、输出字段详解

who -uH 的典型输出为例:

复制代码
NAME    LINE    TIME            IDLE    PID     COMMENT
root    pts/0   2025-06-09 01:40 .       11005   (192.168.118.1)
  • NAME:登录的用户名。
  • LINE :终端设备类型。ttyN 表示物理终端;pts/N 表示伪终端(通常是 SSH 或 Telnet 远程连接);:0 表示图形界面会话。
  • TIME:用户登录的时间。
  • IDLE:用户空闲时间,规则如上所述。
  • PID:用户登录 Shell 的进程 ID。
  • COMMENT :注释信息,通常是远程登录的主机 IP 地址,本地登录则可能显示 (:0) 或为空。
相关推荐
cd_949217218 小时前
邮件安全联防预警平台“网哨M01”:全面联防对抗社工钓鱼攻击
网络·安全·web安全
希望永不加班8 小时前
var局部变量类型推断的利弊
java·服务器·前端·javascript·html
枳实-叶8 小时前
【Linux驱动开发】第12天:Linux设备树核心:树形结构+节点+属性 完整全解
linux·运维·驱动开发
Yeats_Liao8 小时前
物联网接入层技术剖析(三):epoll在JVM中的映射
java·linux·jvm·人工智能·物联网
德迅云安全-小潘8 小时前
了解并防范跨站脚本攻击,XSS攻击全解析,德迅云安全SCDN提供全方位的安全
网络·安全·xss
小贾要学习9 小时前
【Linux】基于自定义TCP协议的日期计算器
linux·网络·c++·网络协议·tcp/ip
樱桃花下的小猫9 小时前
游戏云服务器定时任务设置教程
服务器·游戏·新手友好·云鸢互联·零门槛一键开服
2501_920047039 小时前
iptables防火墙
linux·运维·网络安全
oo哦哦9 小时前
同城矩阵系统的中心地密码:用克里斯塔勒中心地理论和引力模型,解释为什么你的10个探店号加起来,还不如别人3个
服务器·人工智能·矩阵
带土19 小时前
7. 线程编程(线程概念和创建)
linux