1. Linux用户会话管理的重要性
在服务器运维和系统管理工作中,实时掌握当前登录用户信息是一项基础但至关重要的技能。想象一下这样的场景:当你接手管理一台多人使用的服务器时,首先需要知道当前有哪些用户正在使用系统;当系统出现异常时,需要排查是否有可疑登录;在进行重要系统变更前,需要确认是否会影响其他用户的工作。这些场景都离不开对用户会话的监控。
Linux作为一个多用户操作系统,天生就支持多个用户同时登录和工作。每个登录会话都会占用系统资源,可能执行各种操作。作为管理员,我们需要清楚地知道:
- 当前系统中有哪些用户处于登录状态
- 这些用户从何处登录(本地终端还是远程连接)
- 他们登录了多长时间
- 他们正在执行什么操作
- 这些会话是否都是合法的
这些信息对于系统安全审计、资源分配、故障排查等方面都具有重要意义。特别是在企业环境中,规范的登录监控往往是安全合规的基本要求。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 基础命令:who与w的使用详解
2.1 who命令:简洁的用户会话概览
who命令是Linux系统中最基础的查看登录用户的工具,几乎所有Linux发行版都预装了这个命令。它的输出格式简洁明了,适合快速查看当前登录情况。
基本用法:
bash复制who
典型输出示例:
code复制user1 pts/0 2023-08-15 09:30 (192.168.1.100)
user2 tty2 2023-08-15 10:15
root pts/1 2023-08-15 11:20 (10.0.0.5)
输出列解析:
- 用户名:登录用户的账户名
- 终端类型:
- pts/*:伪终端,通常是SSH等远程连接
- tty*:物理终端或本地虚拟控制台
- 登录时间:用户登录的日期和时间
- 来源IP:远程连接的客户端IP地址(本地登录则不显示)
who命令有几个实用的变体:
bash复制who am i
# 或
who mom likes
这两个命令效果相同,都只显示当前终端对应的用户信息。这在编写脚本时需要知道当前执行者身份时特别有用。
2.2 w命令:详细的系统负载与用户活动
w命令提供了比who更丰富的信息,除了
