Who (Unix)

who是显示当前登录到计算机的用户列表的标准 Unix 命令。

who与命令w有关：w提供相同的信息，但也显示额外的数据和统计信息。

 规范 
单一Unix规范（SUS）要求who应列出有关可访问用户的信息。 XSI 扩展也要求应列出用户名、终端、登录时间、进程 ID 和自上次活动以来的时间等其他数据；此外，用于用户信息的备用系统数据库可指定为who的可选参数。

该命令可以附加参数am i或am I（即who am i），来调用显示有关当前终端的信息（请参阅命令tty和-m选项，同该调用是等效的）。

 用法 
无扩展的SUS仅指定以下的-m、-T和-u选项，所有其他选项都在XSI扩展中指定：

 -a，使用-b，-d，-l，-p，-r，-t，-T和-u处理用于用户信息的系统数据库。

 -b，显示系统上次重新启动的时间

 -d，显示僵尸进程及相关细节

 -H，显示列标题

 -l，显示用户可以登录的终端

 -m，仅显示有关当前终端的信息

 -p，显示活动进程

 -q，快速格式，仅显示名称和所有登录用户的数量，禁用所有其他选项;相当于用户命令行实用程序

 -r，显示init进程的运行级别。

 -s（默认）仅显示名称，终端和时间详细信息

 -t，显示系统时钟最后更改的时间

 -T，以标准格式显示每个终端的详细信息

 -u，显示空闲时间；XSI显示用户登录并显示终端是否最近使用过的信息

其他Unix和类Unix操作系统可能会添加额外的选项。GNU who包含-i选项（同-u类似）和-w选项（显示列出的用户是否接受消息，SUS 在指定-T时显示此消息），但GNU who和BSD版本都省略了上述的一些选项（如-a，-b，-d等）；GNU 版本反而使用 -l 来尝试通过 DNS 查验主机名。

 输出 

没有扩展名的SUS指定输出格式为“实现定义”（Implementation-defined）。 XSI扩展指定了一种格式，但它没有完全指定： 分隔符和字段长度没有精确指定。 因此，Unix实现中输出的格式差别很大。

 另请参见 

 Unix实用程序列表

 外部链接 

 who  — specification from the Single Unix Specification
 who  — manual page from GNU coreutils
 who  — manual page from OpenBSD

Category:Unix用户管理和支持相关实用工具
Category:标准Unix程序
Category:Unix SUS2008实用工具