who - 显示系统上的用户
/usr/bin/who [-a | --all] [ -b | --boot] [-d | --dead ] [-H | --heading] [ -l | --login] [--lookup] [ -m] [-p | --process] [ -q | --count] [-r | --runlevel ] [-s | --short] [ -t | --time] [-T | -w | --mesg | --message | --writable] [-u | --users] [ file]
/usr/bin/who -q | --count [-n x] [file]
/usr/bin/who am i
/usr/bin/who am I
/usr/xpg4/bin/who [-abdHlmpqrtTu] [ file]
/usr/xpg4/bin/who -q [-n x] [file]
/usr/xpg4/bin/who -s [-bdHlmpqrtu ] [file]
/usr/xpg4/bin/who am i
/usr/xpg4/bin/who am I
who 实用程序可以列出 UNIX 系统上当前每个用户的用户名、终端行、登录时间、自行上发生活动以来经过的时间和命令解释程序 (shell) 的进程 ID。它将检查 /var/adm/utmpx 文件来获取相关信息。如果指定了 file,则会检查该文件(必须采用 utmpx(5) 格式)。通常,file 为 /var/adm/wtmpx ,其中包含自上次创建文件以来所有登录信息的历史记录。
常规输出格式如下:
name [state] line time [idle] [pid] [ comment] [exit]
其中:
用户的登录名
向终端写入数据的能力
在 /dev 中找到的行的名称
自用户登录以来的时间
自用户上次活动以来经过的时间
用户的进程 ID
inittab(5) 中的注释行
停用进程的退出状态
/usr/bin/who 支持以下选项:
进程 /var/adm/utmpx 或启用了 –b、–d、–l、– p、–r、–t、–T 和 – u 选项的指定 file。
表示上次重新引导的时间和日期。
显示已过期且未通过 init 重新产生的所有进程。exit 字段针对停用进程显示,并包含停用进程的终止和退出值(由 wait(3C) 返回)。该字段在确定进程终止原因时非常有用。
输出常规输出上方的列标题。
仅列出等待用户登录的系统所在的行。在这种情况下,name 字段为 LOGIN。其他字段与用户条目的字段相同,只是 state 字段不存在。
在配置的名称服务中执行主机查找,以查找主机的标准化名称,即定义的第一个名称(请参见“附注”部分)。
仅输出有关当前终端的信息。
接受数字参数 x,用于指定每行显示的用户数。x 必须至少为 1。–n 选项只能与 –q 一起使用。
列出当前处于活动状态且之前由 init 产生的其他所有进程。name 字段显示在 /usr/sbin/inittab 中找到的由 init 执行的程序的名称。state、line 和 idle 字段没有意义。comment 字段显示 /usr/sbin/inittab 中产生该进程的行的 id 字段。请参见 inittab(5)。
(快速执行 who)仅显示当前登录系统的用户的名称和数目。如果使用了该选项,将忽略除 –n 以外的所有选项。
表示 init 进程的当前 run-level。
(缺省值)仅列出 name、 line 和 time 字段。
与 –s 选项相同,只是也写入 state idle、pid 和 comment 字段。state 是以下字符之一:
终端允许授予其他用户写入权限。
终端拒绝授予其他用户写入权限。
无法确定终端写入访问权限状态。
仅列出当前登录系统的用户。 name 是用户的登录名。line 是在目录 /dev 中找到的行的名称。 time 是用户登录的时间。idle 列包含该特定行上自上次发生活动以来经过的小时和分钟数。点 (.) 表示上一分钟在终端上发生了活动,因此当前正在进行。如果经过的时间超过了二十四小时或者自引导以来未曾使用该行,则会将条目标记为 old。该字段在尝试确定某个用户是否在终端上执行操作时非常有用。 pid 是用户 shell 的进程 ID。comment 是在 /usr/sbin/inittab(请参见 inittab(5))中找到的与该行关联的注释字段。其中可包含有关终端所在位置、数据集的电话号码、终端类型(如果采用硬接线)等方面的信息。
与 –T 选项相同
/usr/xpg4/bin/who 支持以下选项:
进程 /var/adm/utmpx 或启用了 –b、–d、–l、– p、–r、–t、–T 和 – u 选项的指定 file。
表示上次重新引导的时间和日期。
显示已过期且未通过 init 重新产生的所有进程。exit 字段针对停用进程显示,并包含停用进程的终止和退出值(由 wait(3C) 返回)。该字段在确定进程终止原因时非常有用。
输出常规输出上方的列标题。
仅列出等待用户登录的系统所在的行。在这种情况下,name 字段为 LOGIN。其他字段与用户条目的字段相同,只是 state 字段不存在。
仅输出有关当前终端的信息。
列出当前处于活动状态且之前由 init 产生的其他所有进程。name 字段显示在 /usr/sbin/inittab 中找到的由 init 执行的程序的名称。state、line 和 idle 字段没有意义。comment 字段显示 /usr/sbin/inittab 中产生该进程的行的 id 字段。请参见 inittab(5)。
(快速执行 who)仅显示当前登录系统的用户的名称和数目。如果使用了该选项,将忽略除 –n 以外的所有选项。
表示 init 进程的当前 run-level。
(缺省值)仅列出 name、line 和 time 字段。
与 –s 选项相同,只是也写入 state 字段。state 是该选项的 /usr/bin/who 版本下所示字符之一。如果将 –u 选项与 –T 一起使用,会将空闲时间添加到前一种格式的结尾。
仅列出当前登录系统的用户。 name 是用户的登录名。line 是在目录 /dev 中找到的行的名称。 time 是用户登录的时间。idle 列包含该特定行上自上次发生活动以来经过的小时和分钟数。点 (.) 表示上一分钟在终端上发生了活动,因此当前正在进行。如果经过的时间超过了二十四小时或者自引导以来未曾使用该行,则会将条目标记为 old。该字段在尝试确定某个用户是否在终端上执行操作时非常有用。 pid 是用户 shell 的进程 ID。comment 是在 /usr/sbin/inittab(请参见 inittab(5))中找到的与该行关联的注释字段。其中可包含有关终端所在位置、数据集的电话号码、终端类型(如果采用硬接线)等方面的信息。
支持下列操作数:
在 C 语言环境中,仅限输出描述正在调用的用户,等效于 –m 选项。am 和 i 或 I 必须是单独的参数。
指定用来替换 who 在缺省情况下所用登录系统的用户数据库的文件的路径名。
有关影响 who 执行的以下环境变量的说明,请参见 environ(7):LANG、LC_ALL、LC_CTYPE、LC_MESSAGES、LC_TIME 和 NLSPATH。
将返回以下退出值:
成功完成。
出现错误。
init 的脚本
当前用户和计帐信息
历史用户和计帐信息
有关下列属性的说明,请参见 attributes(7):
|
|
date(1)、login(1)、mesg(1)、wait(3C)、inittab(5)、utmpx(5)、attributes(7)、environ(7)、standards(7)、init(8)、su(8)
超级用户:关闭单用户状态后,who 将返回提示符。由于 /var/adm/utmpx 在登录时进行更新而且在单用户状态下没有登录信息,因此 who 无法准确地报告该状态。但是,命令 who am i 可以返回正确的信息。
–-lookup 选项用于查询配置的名称服务,以尝试查找 utmpx 条目中所指定主机名的所谓的标准化名称。这样将返回由 getaddrinfo(3C) 函数返回的第一个名称,该名称与 AI_CANONNAME 提示一起提供。