打开网易新闻 查看精彩图片

导读:这里是一个关于理解 Linux 中 who 命令的初学者指南,并带有几个例子。

本文字数:1705,阅读时长大约: 2分钟

这里是一个关于理解 Linux 中 who 命令的初学者指南,并带有几个例子。

这篇文章是 www.debugpoint.com学习系列的一部分。

who 命令

Linux 中的 命令用于显示当前登录到系统中的用户的信息。它显示用户的登录名,用户登录的终端,用户登录的时间,以及远程主机名(如果有)。

语法

下面是 命令的基本语法:

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

各种 who 命令和开关的例子

默认情况下, 读取文件/var/run/utmp,其中包含当前登录的用户的信息。如果没有指定选项,它会显示每个用户的登录名、终端和登录时间。

  1. who

它给出了以下输出。你可以看到它显示了登录名是debugpoint,终端 IDtty2和登录的日期和时间。

  1. debugpoint tty2 2023-01-01 11:22 (tty2)

打开网易新闻 查看精彩图片

who 命令 - 默认示例

然而,如果你在虚拟机中运行上述命令,你应该看到同样的情况,但终端 ID 将是 x11 服务器的显示名称,即:0

  1. ❯ who

  2. debugpoint :0 2023-01-01 23:36 (:0)

要显示当前用户的用户名和信息,使用下面的方法:

  1. whoami

使用-b选项查看最后一次系统启动时间:

  1. ❯ who -b

  2. system boot 2023-01-01 23:36

显示当前系统中登录的用户数:

  1. ❯ who -q

  2. debugpoint

  3. users=1

所有上述命令与-H选项配对时,你会有一个更好的含标题行的信息,如下所示:

  1. who -H

  2. NAME LINE TIME COMMENT

  3. debugpoint tty2 2023-01-01 11:22 (tty2)

如果你想在 Linux 中显示与 命令有关的所有信息,请使用选项-a

  1. who -aH

  2. NAME LINE TIME IDLE PID COMMENT EXIT

  3. system boot 2023-01-01 11:19

  4. run-level 5 2023-01-01 11:19

  5. debugpoint + tty2 2023-01-01 11:22 13:26 2042 (tty2)

像往常一样,你可以使用下面的重定向将 命令的输出保存到任何文件:

  1. who > user_details.txt

who 命令选项的例子总结

下面是一些 命令的例子和它们的解释:

下面是一些可以与 命令一起使用的选项:

-a: 显示每个用户的主机名、登录时间和进程

-b: 显示上次系统启动的时间

-d: 显示死进程(已终止但未从 utmp 文件中删除的进程)

-H: 显示标题行

-l: 显示长格式的登录进程

-m: 只显示在ARG1 ARG2指定的终端上登录的用户的名字和行。

-q: 显示已登录用户的数量

-u: 显示拥有未脱离进程的用户的信息

-w: 显示已经登录的用户信息,格式与 utmp 文件相同

总结

我希望这篇文章能够帮助你了解 命令及其基本原理。你也可以阅读 man7.org来了解更多。如果你有任何问题,请告诉我。

via:

作者: 选题: 译者: 校对:

本文由 原创编译, 荣誉推出

LCTT 译者 :geekpi

翻译: 1848.5 篇

贡献: 3364 天

2013-10-25

2023-01-10

https://linux.cn/lctt/geekpi

欢迎遵照 CC-BY-SA 协议规定转载,

如需转载,请在文章下留言 “ 转载:公众号名称”,

我们将为您添加白名单,授权“ 转载文章时可以修改”。