Linux中的 who 命令

评论 0 浏览 0 2020-11-18

在这篇文章中,我们将解释捆绑在GNU coreutils包中的who命令。

who是一个命令行工具,可以打印出当前登录的用户列表。它还可以显示当前的运行级别,最后一次系统启动的时间,以及更多。

如何使用 who 命令

who命令的基本句法如下。

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

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

who

输出

root     pts/0        2020-11-17 20:10 (10.10.0.2)
linuxize    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)
linuxize  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

上面的每条命令都会打印相同的信息。

输出

linuxize  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 linuxize
# 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
linuxize   + pts/1      2020-11-17 20:11 01:46     2212387 (89.205.101.54)

总结

who命令打印出所有当前登录的用户的列表。

要获得关于当前登录的用户的额外信息,请检查w命令。

如果你有任何问题,请在下面留言。

最后更新2023-08-11
0 个评论
标签