Linux常用命令详解who命令详解
云计算
Linux常用命令详解who命令详解
2025-03-11 00:09
Linux系统管理员必备技能!今天我们来深入解析who命令的完整使用方法。这个看似简单的命令,在实际运维中能发挥意想不到的作用。 一、基础认知 who命令用于显示当前登录系统的用户信息,是排查登录问题、进行系统监控的基础工具。
Linux系统管理员必备技能!今天我们来深入解析who命令的完整使用方法。这个看似简单的命令,在实际运维中能发挥意想不到的作用。
一、基础认知
who命令用于显示当前登录系统的用户信息,是排查登录问题、进行系统监控的基础工具。它会从 /var/run/utmp
文件中读取数据,输出格式为:
用户名 终端设备 登录时间 来源
root pts/0 Aug 10 09:15 (192.168.1.100)
二、核心参数详解(附实例)
- -H 显示标题行
who -H
输出结果首行显示字段名称,特别适合脚本处理数据时使用。示例:
NAME LINE TIME COMMENT
user1 tty1 Aug 10 08:30
- -a 显示完整信息
who -a -H
该参数会显示9类系统信息,包括:
- 用户登录记录
- 系统启动时间
- 运行级别变更
- 终端设备状态等
- -b 查看系统启动时间
who -b
输出示例:
system boot 2023-08-10 04:30
这对排查异常重启非常有用?
- -d 显示失效进程
who -d
显示已终止但仍占用终端的进程,常用于清理僵尸进程
- -u 显示空闲时间
who -u -H
输出示例:
USER LINE TIME IDLE PID
test pts/1 09:20 02:30 1234
IDLE列显示用户无操作时长,这对监控用户活动至关重要
三、进阶使用技巧
- 快速统计在线用户数
who | wc -l
通过管道符组合命令,立即获取当前登录用户总数
- 排查异常登录
who /var/log/wtmp
通过指定日志文件,可查询历史登录记录(默认显示最近一个月)
- 实时监控登录
watch -n 5 who
每5秒刷新一次登录状态,特别适合安全监控场景?
四、与其他命令对比
命令 | 特点 | 适用场景 |
---|---|---|
who | 显示基础登录信息 | 快速查看当前用户 |
w | 显示更详细的进程信息 | 系统负载分析 |
users | 仅显示用户名 | 极简统计 |
last | 显示历史登录记录 | 安全审计 |
五、常见问题解决
Q:显示时间格式异常?
who --time-format=iso
使用ISO标准时间格式输出,避免时区混淆
Q:无法显示IP地址?
who -m -H
-m参数专门显示当前终端的完整信息
六、专业建议
- 生产环境中建议定期归档
/var/log/wtmp
文件 - 结合
grep
命令过滤特定用户登录记录 - 使用
who -q
可快速获取用户名列表 - 通过
man who
查看完整的参数说明手册
? 重要提示:不同Linux发行版的who命令可能存在参数差异,建议在实际环境中测试验证后再进行关键操作。掌握好这个基础命令,能让日常运维工作事半功倍!
标签:
- Linux
- 命令
- who