如何在 Debian 10 中使用 Who 命令

作为在多用户环境中工作的系统管理员,您应该知道谁登录到您的系统。 幸运的是,Linux 操作系统允许您使用称为“who”的简单内置命令来实现此目的。 Who 命令是 GNU 核心实用程序之一,它使用 /var/log/utmp 文件提供有关谁登录到系统的信息,他们登录的时间以及他们从哪里登录。它类似于“w”命令,并显示相同的信息以及其他一些信息,例如上次引导系统的时间以及系统所处的运行级别等等。

在本文中,我们将解释如何在 Linux 操作系统中使用 who 命令以及一些命令行选项。

注意:本文中讨论的命令已经在 Debian 10 Buster 系统上进行了测试。

查找谁在系统上

在没有任何命令行选项的情况下使用 who 命令时,它会显示以下信息:

  • 谁登录到系统
  • 他们如何登录(用户终端)
  • 登录日期和时间
  • 他们从哪里登录(远程服务器的主机名或 IP 地址)

上面的输出显示有 3 个用户登录到我们的系统。 列表中的第一个用户直接登录到系统,另外两个从远程系统登录。 它还显示他们登录的日期和时间,以及他们登录的服务器的 IP 地址。

常用选项

这里我们将讨论一些常用的 who 命令行选项:

显示上次系统启动的日期和时间

要显示上次系统启动的日期和时间,请使用带有 -b 或 –boot 选项的 who 命令,如下所示:

$ who -b

在 who 命令中显示列标题

没有任何命令行选项的 Who 命令在没有任何标题的列中显示信息。 通常很难记住每列的内容。 但是,将 -h 或 –heading 选项与 who 命令一起使用,您可以在每列的顶部显示标题。

$ who –H

显示用户空闲时间

空闲时间是在用户会话期间没有任何用户活动的时间。 要查看每个用户的空闲时间,请使用带有 -u 或 –users 选项的 who 命令:

$ who -u

如果我们看到上面的输出,第一个用户行中的 (old) 显示该用户自过去 24 小时以来一直处于非活动状态,第二个用户行中的 (00:11) 显示第二个用户自过去 11 分钟以来一直处于非活动状态. 第三个用户行中的 (.) 表示用户当前处于活动状态。

显示当前用户的快速计数和名称

如果您想要有关已登录用户的简要信息,请使用带有 -q 或 –count 选项的 who 命令。 它将显示登录到系统的用户名和用户数。

$ who -q

显示登录进程

要显示系统上的当前登录进程,请使用带有 -l 或 –login 选项的 who 命令,如下所示:

$ who -l

显示消息状态

您还可以显示当前登录用户的消息状态。 使用带有 -T、-w 或 –message 选项的 who 命令:

$ who –T

在每个用户的名称之后,您将看到消息状态为“+“ 或者 ”” 分别基于消息是打开还是关闭。 在上面的输出中,您可以看到前两个用户的消息是打开的,而第三个用户的消息是关闭的。

显示死进程

您还可以在 Linux 中显示死进程。 为此,请使用带有 -d 或 –dead 选项的 who 命令,如下所示:

$ who -d

显示当前运行级别

运行级别是 Linux 中系统用于执行不同功能的一种模式。 系统上有七个运行级别 (0-6),它们根据可用服务进行分类。

$ who -r

要查看系统的当前运行级别,请使用带有 -r 选项的 who 命令,如下所示:

显示所有信息

我们上面讨论的所有命令行选项都提供了不同的信息。 要查看单个输出中的所有信息,请使用 who 命令的 -a 或 –all 选项,如下所示:

$ who -a

对 who 命令使用多个选项

Who 命令也可以与多个命令行选项一起使用。 使用 who 命令,后跟使用单个连字符的多个选项。

为了 example,要显示所有信息以及列标题,命令将是:

$ who -aH

寻求帮助

以下命令可以为您提供有关 who 命令的一些帮助。

要查看有关 who 命令的简要信息,请使用 whatis 命令,如下所示:

$ whatis who

要查看 who 命令手册页,请使用以下命令:

$ man who

将 –help 选项与 who 命令一起使用以显示帮助。

$ who –help

提示:

要将 who 命令的输出保存在文件中以进行记录,请键入 who 后跟重定向器 (>) 符号和要保存输出的文件名。

$ who > file_name

who 命令的输出将保存在文件中,而不是显示在终端上。

在本文中,我们讨论了 who 命令及其一些有用的命令行选项。 您已经看到 who 命令可以做的不仅仅是提供登录的用户信息。