> 环境与工具 > who

who 命令指南:查看当前登录用户信息

`who` 命令用于在 Linux 和 Unix 系统中显示当前系统上登录用户的信息。能够快速查看哪些用户通过哪个终端登录以及从何时开始使用系统,是系统管理和监控中有用的基本工具。通过本指南,您可以学习 `who` 命令的用法和主要选项。

who 概述

`who` 命令基于系统的 `/var/run/utmp` (或 `/var/log/wtmp`) 文件中记录的信息,显示当前激活的登录会话。该文件保存用户登录和登出记录、系统启动/关闭时间等信息。`who` 在多用户环境中特别必要,用于确定系统上谁正在访问。

who 的主要角色

`who` 命令主要用于以下目的:

主要应用领域

  • 确认登录用户: 显示当前系统上登录的用户的姓名、终端、登录时间等信息。
  • 系统监控: 监控服务器上是否有不必要或异常的登录。
  • 协作环境: 确认其他用户是否正在访问系统,以便进行协作或避免冲突。
  • 脚本自动化: `who` 命令用于检查特定用户是否登录的逻辑。

`who` vs `w` vs `whoami`

与用户信息相关的多个命令,每个命令的目的不同。

  • `who`: 显示当前系统上登录的所有用户的信息。
  • `w`: 除了当前登录用户的信息外,还显示每个用户“正在做什么”(当前正在运行的进程)的详细信息。提供比 `who` 更多的信息。
  • `whoami`: 显示当前执行命令的“自己”的有效用户名。(即,登录的用户名)

主要 who 命令选项

`who` 命令通常不带选项使用,但提供了一些有用的选项,以添加特定信息或更改输出格式。

1. 基本信息输出

2. 额外信息输出

3. 简洁输出

生成的命令:

请尝试组合命令。

描述:

`who` 执行命令。

通过组合这些选项,您可以与 AI 一起虚拟地执行命令。

使用示例

通过多种 `who` 命令的应用示例,学习如何有效查看系统上登录的用户信息。

查看当前登录用户列表

who

通过最基本的 `who` 命令执行,展示系统上登录的所有用户的姓名、终端、登录时间等信息。

显示登录用户信息和列标题

who -H

在输出结果中包含每个信息的标题(USER, LINE, WHEN 等),以提高可读性。

确认系统启动时间

who -b

输出系统最后一次启动的确切日期和时间。

仅简要确认登录用户数量

who -q

仅显示当前系统上登录的总用户数量和用户姓名列表。

查看登录用户及其空闲时间、PID

who -u

额外显示每个登录用户的空闲时间(无活动时间)和控制登录会话的进程 ID(PID)。

确认当前执行级别

who -r

查看系统的当前“运行级别”(多用户模式、单用户模式等)。


相同类别命令