who和w查看用户登录

2025-04发布7次浏览

在Linux系统中,查看用户登录情况是一个常见的需求。通过使用whow这两个命令,可以轻松获取当前登录系统的用户信息以及他们的活动状态。本文将详细介绍这两个命令的用法、输出内容及相关的扩展知识。

who命令

基本功能

who命令用于显示当前登录到系统的用户列表。它从/var/run/utmp文件中读取信息并显示出来。

常见选项

  • -a, --all:显示所有信息。
  • -b:显示最后一次系统启动的时间。
  • -d:显示已删除的进程信息。
  • -H, --heading:显示列标题。
  • -m:仅显示与当前终端相关的记录。
  • -q, --count:仅显示用户名和登录用户的数量。
  • -u:显示当前活跃的用户,默认选项。

示例

who

输出示例:

user1   pts/0        2023-04-01 10:00    (192.168.1.10)
user2   pts/1        2023-04-01 10:05    (192.168.1.11)

w命令

基本功能

w命令不仅显示当前登录的用户,还显示他们正在执行的命令。此外,它还会显示系统的平均负载。

输出解释

  • 用户名:登录的用户名。
  • 终端:用户登录的终端。
  • 登录时间:用户登录的时间。
  • 空闲时间:用户未进行任何操作的时间长度。
  • JCPU:该用户所有进程所占用的CPU时间总和。
  • PCPU:当前终端上运行的最后一个命令所占用的CPU时间。
  • 命令:用户当前正在执行的命令。

示例

w

输出示例:

 10:15:01 up 1 day, 10:15,  2 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
user1    pts/0    192.168.1.10    10:00    5.00s  0.03s  0.01s bash
user2    pts/1    192.168.1.11    10:05    1:02   0.10s  0.05s vi test.txt

扩展知识

  • utmp文件whow命令依赖于/var/run/utmp文件来获取用户登录信息。此文件记录了当前登录的用户信息。
  • last命令:如果需要查看更详细的登录历史,可以使用last命令,它会读取/var/log/wtmp文件以显示过去的登录记录。

实践步骤

  1. 打开终端。
  2. 输入whow命令查看当前登录用户。
  3. 使用man whoman w查看更详细的帮助信息。