Linux w 命令实用示例

LinuxBeginner
立即练习

介绍

在本实验中,我们将探索 Linux 的 w 命令,该命令提供了当前登录系统的用户及其活动的信息。我们将学习如何分析用户登录会话、监控系统负载,并利用 w 命令的各种选项来收集有关系统性能和用户行为的详细信息。理解 w 命令对于在 Linux 系统上进行有效的系统监控和管理至关重要。

Linux 命令速查表

理解 w 命令

在这一步中,我们将探索 Linux 中的 w 命令,该命令提供了当前登录系统的用户及其活动的信息。

w 命令显示以下信息:

  • 登录用户的用户名
  • 他们登录的终端
  • 他们登录的时间
  • 他们空闲了多长时间
  • 他们当前正在做什么

让我们首先在终端中运行 w 命令:

w

示例输出:

 17:30:32 up 1 day, 23:03,  0 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT

输出显示当前没有用户登录。让我们以另一个用户身份登录并查看输出:

sudo su - user2
w

示例输出:

 17:31:00 up 1 day, 23:03,  1 user,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
user2    pts/0    172.17.0.1       17:30    0.00s  0.01s  0.00s w

输出现在显示用户 user2 从终端 pts/0 登录,并且已经空闲了 0.00 秒。WHAT 列显示用户当前正在运行 w 命令。

你还可以使用 w 命令的各种选项来获取有关登录用户和系统负载的更详细信息:

  • w -h:省略标题行
  • w -s:短格式,仅显示名称、终端和时间
  • w -i:以短格式显示空闲时间(分钟)
  • w username:显示特定用户的信息

理解 w 命令对于监控 Linux 系统中的用户活动和系统性能至关重要。

分析用户登录会话

在这一步中,我们将学习如何使用 w 命令和其他相关工具来分析用户登录会话。

首先,让我们使用 w 命令列出所有当前登录的用户:

w

示例输出:

 17:35:01 up 1 day, 23:07,  1 user,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
user2    pts/0    172.17.0.1       17:30    0.00s  0.01s  0.00s w

输出显示用户 user2 当前从终端 pts/0 登录。

为了获取有关用户登录会话的更详细信息,我们可以使用 who 命令:

who

示例输出:

user2    pts/0        2023-04-18 17:30 (172.17.0.1)

who 命令显示了用户名、终端、登录时间以及用户登录的主机。

另一个有用的命令是 last,它显示了最近登录用户的列表:

last

示例输出:

user2    pts/0        172.17.0.1      Tue Apr 18 17:30:00 2023 - 17:35:01   (0:05)
reboot   system boot  4.15.0-162-gene Tue Apr 18 17:31:49 2023 - 17:35:01   (0:03)
user1    pts/0        172.17.0.1      Tue Apr 18 17:29:00 2023 - 17:30:00   (0:01)

last 命令显示了用户名、终端、主机、登录时间、注销时间以及会话的持续时间。

通过分析这些命令的输出,你可以清楚地了解系统上的用户登录会话,这对于监控和故障排除非常有用。

监控系统负载和资源利用率

在这一步中,我们将学习如何使用 w 命令和其他相关工具来监控系统负载和资源利用率。

w 命令提供了系统负载的信息,以三个负载平均值的形式显示:

w

示例输出:

 17:40:01 up 1 day, 23:12,  1 user,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
user2    pts/0    172.17.0.1       17:30    0.00s  0.01s  0.00s w

三个负载平均值分别表示过去 1 分钟、5 分钟和 15 分钟的系统负载。负载平均值为 0.00 表示系统没有显著的负载。

为了获取有关系统资源利用率的更详细信息,我们可以使用 top 命令:

top

示例输出:

top - 17:40:42 up 1 day, 23:12,  1 user,  load average: 0.00, 0.00, 0.00
Tasks: 105 total,   1 running,  104 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  2044880 total,  1605244 free,   160676 used,   278960 buff/cache
KiB Swap:  1048572 total,  1048572 free,        0 used.  1603204 avail Mem

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
     1 root      20   0   41824   4464   2896 S   0.0  0.2   0:01.37 systemd
     2 root      20   0       0      0      0 S   0.0  0.0   0:00.01 kthreadd
     3 root      20   0       0      0      0 I   0.0  0.0   0:00.00 rcu_gp

top 命令提供了有关系统 CPU、内存和进程利用率的实时信息。你可以使用它来识别消耗最多资源的进程,并采取适当的措施。

此外,你还可以使用 free 命令来获取系统内存使用情况的信息:

free -h

示例输出:

              total        used        free      shared  buff/cache   available
Mem:           1.9G        156M        1.5G        1.1M        278M        1.5G
Swap:          1.0G          0B        1.0G

free 命令显示了系统上总内存、已用内存、可用内存以及交换空间的使用情况。

通过使用这些工具监控系统负载和资源利用率,你可以识别性能瓶颈并采取适当的措施来优化系统性能。

总结

在本实验中,我们学习了如何在 Linux 中使用 w 命令来理解用户登录会话并监控系统负载和资源利用率。我们探索了 w 命令提供的信息,包括登录用户的用户名、他们使用的终端、登录时间、空闲时间以及当前活动。我们还学习了如何使用 w 命令的各种选项来获取更详细的信息,例如省略标题行、仅显示名称、终端和登录时间,以及以更短的格式显示空闲时间。最后,我们讨论了如何使用 w 命令和其他相关工具来分析用户登录会话和系统性能。

Linux 命令速查表