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

在本文中,我们解释了捆绑在GNU核心软件包中的who命令。

如何使用who命令

who命令的基本语法如下:

who [OPTION]... [ FILE | ARG1 ARG2 ]

在没有任何选项或参数的情况下调用时,输出看起来像这样:

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将输出当前登录系统的所有用户的格式化列表。

每行包含四个由一个或多个空格分隔的字段:

  • 已登录用户的名称。
  • 用户的终端。
  • 用户登录的时间。
  • 主机名或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)

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

who接受两个非选项参数。 当使用两个参数调用该命令时,该命令仅输出有关与当前用户关联的终端的信息。 当使用-m选项时,将显示相同的输出。

您可以使用任何两个参数:

who am i
who mom love
who foo bar
who -m

以上每个命令将打印相同的信息:

myfreax  pts/1        2020-11-17 20:11 (10.10.0.8)

who命令选项

who接受了几种通常很少使用的选项。

-b--boot选项告诉who打印上次系统引导的时间:

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

要获取所有无效进程的列表,请使用-d--dead选项:

who -d

-r--runlevel选项告诉who显示当前运行级别:

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

要仅获取用户名和当前登录的用户数,请使用-q--count选项:

who -q
root myfreax
# users=2

-a--all选项强制who打印所有信息:

who -a
           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命令

如有任何疑问,请在下面发表评论。