/usr/bin/who [-abdHlmpqrstTu] [file]
/usr/bin/who -q [-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(4) 格式)。通常,file 为 /var/adm/wtmpx,其中包含自上次创建文件以来所有登录信息的历史记录。
常规输出格式如下:
name [state] line time [idle] [pid] [comment] [exit]
其中:
用户的登录名
向终端写入数据的能力
在 /dev 中找到的行的名称
自用户登录以来的时间
自用户上次活动以来经过的时间
用户的进程 ID
inittab(4) 中的注释行
停用进程的退出状态
支持以下选项:
进程 /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(4)。
(快速执行 who)仅显示当前登录系统的用户的名称和数目。如果使用了该选项,将忽略其他所有选项。
表示 init 进程的当前 run-level。
(缺省值)仅列出 name、line 和 time 字段。
与 –s 选项相同,只是也写入 state idle、pid 和 comment 字段。state 是以下字符之一:
终端允许授予其他用户写入权限。
终端拒绝授予其他用户写入权限。
无法确定终端写入访问权限状态。
与 –s 选项相同,只是也写入 state 字段。state 是该选项的 /usr/bin/who 版本下所示字符之一。如果将 –u 选项与 –T 一起使用,会将空闲时间添加到前一种格式的结尾。
仅列出当前登录系统的用户。name 是用户的登录名。line 是在目录 /dev 中找到的行的名称。time 是用户登录的时间。idle 列包含该特定行上自上次发生活动以来经过的小时和分钟数。点 (.) 表示上一分钟在终端上发生了活动,因此当前正在进行。如果经过的时间超过了二十四小时或者自引导以来未曾使用该行,则会将条目标记为 old。该字段在尝试确定某个用户是否在终端上执行操作时非常有用。pid 是用户 shell 的进程 ID。comment 是在 /usr/sbin/inittab(请参见 inittab(4))中找到的与该行关联的注释字段。其中可包含有关终端所在位置、数据集的电话号码、终端类型(如果采用硬接线)等方面的信息。
支持下列操作数:
在 C 语言环境中,仅限输出描述正在调用的用户,等效于 –m 选项。am 和 i 或 I 必须是单独的参数。
指定用来替换 who 在缺省情况下所用登录系统的用户数据库的文件的路径名。
有关影响 who 执行的环境变量 LANG、LC_ALL、LC_CTYPE、LC_MESSAGES、LC_TIME 和 NLSPATH 的说明,请参见 environ(5)。
将返回以下退出值:
成功完成。
出现错误。
init 的脚本
当前用户和计帐信息
历史用户和计帐信息
有关下列属性的说明,请参见 attributes(5):
|
|
date(1)、login(1)、mesg(1)、init(1M)、su(1M)、wait(3C)、inittab(4)、utmpx(4)、attributes(5)、environ(5)、standards(5)
超级用户:关闭单用户状态后,who 将返回提示符。由于 /var/adm/utmpx 在登录时进行更新而且在单用户状态下没有登录信息,因此 who 无法准确地报告该状态。但是,命令 who am i 可以返回正确的信息。