介绍
在这个实验中,你将学习如何查看当前哪些用户已登录到 Linux 系统。你将探索一些基础命令,如使用 CODE0 命令列出已登录的用户,使用 CODE1 命令获取有关他们会话和活动的更详细信息。
在本实验结束时,你将能够快速识别 Linux 系统上的活跃用户,并了解他们登录会话的基本信息,包括如何查看 CODE_0 中的登录记录。
使用 who 命令列出已登录用户
在这一步中,你将学习如何使用 CODE_0 命令列出当前已登录到系统的用户。对于系统管理员和普通用户来说,这是一个查看系统上哪些用户处于活跃状态的基础命令。
CODE_0 命令会显示当前已登录用户的信息。这些信息通常包括用户名、他们使用的终端线路、登录时间,以及他们登录的远程主机(如果适用)。
让我们来试试看。如果终端尚未打开,请打开它。你可以在桌面左侧找到 Xfce Terminal 图标。
输入以下命令并按回车键:
who
你应该会看到类似以下的输出:
labex :0 (:0)
让我们来分析一下这个输出:
- CODE0:这是已登录用户的用户名。在这个 LabEx 环境中,默认用户是 CODE1。
- CODE0:这表示正在使用的终端线路或显示器。CODE1 通常指的是主图形显示器。
- CODE_0:这显示了用户登录的日期和时间。时间戳的确切格式和内容可能会略有不同。
- CODE_0:这通常会提供有关登录会话的额外信息,在这种情况下,是确认显示器的信息。
CODE_0 命令虽然简单,但对于快速查看谁在使用系统非常有用。这是了解用户活动的良好第一步。
记住,实践是关键!多运行几次这个命令,以便熟悉它。
点击 继续 进入下一步。
使用 w 命令检查用户会话
在这一步中,你将探索 CODE0 命令,该命令能提供当前已登录用户的更详细信息以及他们正在进行的操作。虽然 CODE1 命令能快速列出用户,但 CODE_2 命令能提供与用户会话相关的系统当前活动的快照。
CODE_0 命令会显示哪些用户已登录以及他们正在做什么。它是监控系统使用情况和识别与每个用户关联的活跃进程的便捷工具。
让我们在终端中运行 CODE_0 命令。如果你关闭了终端,请再次打开 Xfce Terminal。
输入以下命令并按回车键:
w
你应该会看到类似以下的输出:
up , users, load a verage:
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
labex :0 :0 w
让我们来分析一下输出的不同部分:
- 第一行提供了一个摘要:
- CODE_0:当前时间。
- CODE_0:系统自上次启动以来运行的时长。
- CODE_0:当前已登录的用户数量。
- CODE_0:系统在过去 1 分钟、5 分钟和 15 分钟内的平均负载。这表示等待运行的进程的平均数量。
- 标题行(CODE0、CODE1、CODE2、CODE3、CODE4、CODE5、CODE6、CODE7)描述了每个已登录用户后续列的含义。
- CODE_0:用户名。
- CODE_0:用户正在使用的终端线路。
- CODE0:用户登录的远程主机(如果适用)。对于像这样的本地图形会话,通常显示为 CODE1。
- CODE_0:用户登录的时间。
- CODE_0:终端的空闲时间。
- CODE_0:与该终端关联的所有进程使用的时间。
- CODE_0:当前进程使用的时间。
- CODE0:用户当前进程的命令行。在这种情况下,显示为 CODE1,因为这是你刚刚运行的命令。
与 CODE0 命令相比,CODE1 命令能提供更动态的视图,不仅显示哪些用户已登录,还显示他们正在积极进行的操作。
尝试使用 CODE_0 命令。你会发现它对于快速评估系统活动很有用。
点击 继续 进入下一步。
检查 /var/run/utmp 中的登录记录
在这一步中,你将了解 CODE0 文件,以及像 CODE1 和 CODE_2 这样的命令是如何从该文件获取信息的。这个文件是 Linux 跟踪哪些用户已登录系统的关键部分。
CODE0 文件是一个二进制文件,包含当前已登录到系统的用户信息。当用户登录和注销时,该文件会不断更新。像 CODE1、CODE2 和 CODE3 这样的命令会读取这个文件以显示当前的登录信息。
由于 CODE0 是一个二进制文件,你不能像查看文本文件那样,简单地使用 CODE1 或 CODE_2 等命令来查看其内容。这样做会得到无法读取的字符。
让我们尝试使用 CODE_0 命令来查看它,看看会发生什么(并理解为什么我们不这样做):
cat /var/run/utmp
你会看到很多乱码字符,对于二进制文件来说,这是意料之中的。
要以人类可读的格式读取 CODE0 的内容,你通常需要使用专门用于解析该文件的命令,比如你在前面步骤中使用过的 CODE1 或 CODE_2。
另一个专门用于读取和显示 CODE0 内容的命令是 CODE1。这个命令对于调试或检查文件中的原始数据很有用。
让我们使用 CODE0 来查看 CODE1 的内容。
utmpdump /var/run/utmp
你应该会看到结构化且可读的输出,显示每个登录会话的记录。确切的输出将取决于系统的当前状态,但大致如下:
Utmp dump of /var/run/utmp
[] [] [] [] [] [] [] [] [] [] []
...
[7] [ ] [ :0 ] [ :0 ] [ labex ] [ :0 ] [ 0, 0 ] [ ] [ ] [ ] [ ]
...
输出显示了 CODE_0 文件中每个条目的各个字段,包括条目类型(如用户登录)、进程 ID、终端线路、用户名、主机、登录时间等等。
了解 CODE0 有助于你理解 Linux 是如何跟踪用户会话的,以及像 CODE1 和 CODE_2 这样的命令在底层是如何工作的。
点击 继续 完成本次实验。
总结
在这次实验里,你学会了怎样去检查Linux系统上当下有哪些用户已经登录。你首先运用了CODE_0命令,这个命令能够提供已登录用户的基础列表,涵盖他们的终端、登录时间以及来源等信息。它可是快速识别活跃用户的一个基础工具哦。
在运用CODE0命令之后,你又探索了CODE1命令。虽然节选内容中没有给出CODE2命令的完整详尽信息,但它被介绍为一个工具,能够提供关于已登录用户及其当前活动的更详细内容,比CODE3命令提供的简单列表更为丰富。