这篇文章是 Linux 命令学习系列的一部分。
who 命令
Linux 中的 who
命令用于显示当前登录到系统中的用户的信息。它显示用户的登录名,用户登录的终端,用户登录的时间,以及远程主机名(如果有)。
语法
下面是 who
命令的基本语法:
各种 who 命令和开关的例子
默认情况下,who
读取文件 /var/run/utmp
,其中包含当前登录的用户的信息。如果没有指定选项,它会显示每个用户的登录名、终端和登录时间。
它给出了以下输出。你可以看到它显示了登录名是 debugpoint
,终端 ID tty2
和登录的日期和时间。
who 命令 - 默认示例
然而,如果你在虚拟机中运行上述命令,你应该看到同样的情况,但终端 ID 将是 x11 服务器的显示名称,即 :0
。
要显示当前用户的用户名和信息,使用下面的方法:
使用 -b
选项查看最后一次系统启动时间:
显示当前系统中登录的用户数:
所有上述命令与 -H
选项配对时,你会有一个更好的含标题行的信息,如下所示:
如果你想在 Linux 中显示与 who
命令有关的所有信息,请使用选项 -a
:
像往常一样,你可以使用下面的重定向将 who
命令的输出保存到任何文件:
who 命令选项的例子总结
下面是一些 who
命令的例子和它们的解释:
下面是一些可以与 who
命令一起使用的选项:
-
-a
: 显示每个用户的主机名、登录时间和进程 -
-b
: 显示上次系统启动的时间 -
-d
: 显示死进程(已终止但未从 utmp 文件中删除的进程) -
-H
: 显示标题行 -
-l
: 显示长格式的登录进程 -
-m
: 只显示在ARG1 ARG2
指定的终端上登录的用户的名字和行。 -
-q
: 显示已登录用户的数量 -
-u
: 显示拥有未脱离进程的用户的信息 -
-w
: 显示已经登录的用户信息,格式与 utmp 文件相同
总结
我希望这篇文章能够帮助你了解 who
命令及其基本原理。你也可以阅读 who 手册页来了解更多。