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) 或为空。
相关推荐
阿巴~阿巴~几秒前
IPv4地址的边界与智慧:特殊用途、枯竭挑战与应对策略全景解析
运维·服务器·网络·网络协议·tcp/ip·ipv4·ipv4地址枯竭
噎住佩奇几秒前
Shell提示符变为bash-4.2
linux·ssh
开开心心就好3 分钟前
系统清理工具清理缓存日志,启动卸载管理
linux·运维·服务器·神经网络·cnn·pdf·1024程序员节
Moresweet猫甜3 分钟前
Ubuntu LVM引导丢失紧急救援:完整恢复指南
linux·运维·数据库·ubuntu
海奥华23 分钟前
Golang Channel 原理深度解析
服务器·开发语言·网络·数据结构·算法·golang
松涛和鸣10 分钟前
48、MQTT 3.1.1
linux·前端·网络·数据库·tcp/ip·html
希赛网13 分钟前
网工备考,华为ENSP基础配置命令
服务器·网络·网络工程师·华为认证·命令行·ensp命令·网工备考
大小鱼鱼鱼与鱼.13 分钟前
linux磁盘扩展
linux·运维·服务器
Solar202516 分钟前
构建高可靠性的机械设备企业数据采集系统:架构设计与实践指南
java·大数据·运维·服务器·架构
北京耐用通信21 分钟前
工业通信中的“工业战狼”!耐达讯自动化CAN转PROFIBUS网关
网络·人工智能·物联网·网络协议·自动化·信息与通信