who是一个命令行程序,可打印当前登录用户的列表。它还可以显示当前系统的运行级别。

上次系统启动的时间等。在本教程中我们介绍GNU核心软件 who命令。

who命令的基本语法是who [OPTION]... [ FILE | ARG1 ARG2 ]。最简单的形式是不使用任何选项或参数运行who命令。

who
root     pts/0        2020-11-17 20:10 (10.10.0.2)
myfreax    pts/1        2020-11-17 20:11 (10.10.0.8)

who将打印当前登录系统的所有用户列表。每行包含四个由一个或多个空格分隔的字段。

myfreax已登录用户的名称。pts/1用户的终端。2020-11-17 20:11用户登录的时间。10.10.0.8主机名或IP地址。

要强制使用Ips,请使用--ips选项。如果要打印列标题,请添加-H/--heading选项。

who -H
NAME      LINE         TIME             COMMENT
root      pts/0        2020-11-17 20:10 (10.10.0.2)
myfreax  pts/1        2020-11-17 20:11 (10.10.0.8)

指定文件

who命令默认从/var/run/utmp文件获取系统登录者的信息。如果要使用另一个文件,请将文件路径传递给who命令。

who命令接受两个非选项参数。当使用两个参数运行who命令时,who命令仅输出与当前用户关联的终端的信息。

也可以仅使用-m选项达到相同的效果,将显示相同的输出。您可以使用任意两个参数。

who am i
who myfreax com
who -m
myfreax  pts/1        2020-11-17 20:11 (10.10.0.8)

选项

who接受几个通常很少使用的选项。-b/--boot选项指示who命令打印上次系统启动的时间。

要获取所有无效进程的列表,请使用-d/--dead选项。-r/--runlevel选项指示who命令显示当前系统的运行级别

要仅获取用户名和当前登录的用户数,请使用-q/--count选项。-a--all选项指示who打印所有信息。

who -b

who -d

who -r

who -q

who -a
system boot  2020-07-20 19:02

run-level 5  2020-07-20 19:02

root myfreax
# users=2
           system boot  2020-07-20 19:02
LOGIN      tty1         2020-07-20 19:02               673 id=tty1
           run-level 5  2020-07-20 19:02
root       - pts/0      2020-11-17 20:10   .       2212314 (89.205.101.54)
           pts/2        2020-10-10 10:19           1363538 id=ts/2  term=0 exit=0
myfreax   + pts/1      2020-11-17 20:11 01:46     2212387 (89.205.101.54)

结论

who命令显示所有当前登录用户的列表。要获取当前登录用户的更多信息,请查看w命令。如有任何疑问,请在下面发表评论。